Closed mrzqii closed 6 years ago
@mrzqii 开始有思考,有前途有进步
if(!(this instanceof Cookie)) {
return new Cookie()
};
``
这个就是防止重复 `new` 的判断
if(!(this instanceof Cookie)) { return new Cookie() }; `` 这个就是防止重复 `new` 的判断
没有起到作用哦:
把这里打一个log
if(!(this instanceof Cookie)) {
console.log(1)
return new Cookie()
};
然后调用:
<body>
<script src="./cookie.js"></script>
<script>
cookie()
cookie()
cookie()
</script>
</body>
打印的log:
1
1
1
因为每次调用Cookie()的时候this都是指向window
@mrzqii 了解
今天在学习插件的封装,所以研究了你的一些插件封装的思路,从你的代码里面获益匪浅,在这例发现一个问题,就是每次调用cookie()的时候都会去执行:
意味着每次都会创建一个新的实例,这样做在设计和性能方面都不是很好,我建议最好只创建一个实例就可以了。可以做如下改装:
不知道我的思路怎么样?