AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
### 为什么要用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。