多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 为什么要用this 下面两段代码功能是一样的 ``` function identify(){ console.log(this.name.toUpperCase()); } var me = {name: 'qc'}; identify.call(me); ``` ``` function identify(context){ console.log(context.name.toUpperCase()); } var me = {name: 'qc'}; identify(me); ``` this有时候并不会指向自身,比如函数。函数不具有保存this的功能 ``` function foo(){ this.count++; } var count = 0; foo.count = 10; foo(); //this指向了window console.log(count); //1 console.log(foo.count); //10 ``` 如何让函数中的this指向自身呢? ``` function foo(){ foo.count++; } foo.count = 0; foo(); console.log(foo.count); ``` 或者是 ``` function foo(){ this.count++; } foo.count = 0; foo.call(foo); console.log(foo.count); ``` this实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用,比如在全局作用域调用,this就指向window。