星空网 > 软件开发 > Java

关于this指向问题的总结【转自秘密花园】

 

this 的工作原理

JavaScript 有一套完全不同于其它语言的对 this 的处理机制。 在种不同的情况下 ,this 指向的各不相同。

 

第一种:全局范围内

this;

当在全部范围内使用 this,它将会指向全局对象window。

 

第二种:函数调用

foo();

这里 this 也会指向全局对象window。

ES5 注意: 在严格模式下(strict mode),不存在全局变量。 这种情况下 this 将会是 undefined

 

第三种:方法调用

test.foo(); 

这个例子中,this 指向 test 对象。

 

第四种:调用构造函数

new foo(); 

如果函数倾向于和 new 关键词一块使用,则我们称这个函数是构造函数 。 在函数内部,this 指向新创建的对象。

 

第五种:显式的设置 this

function foo(a, b, c) {}var bar = {};foo.apply(bar, [1, 2, 3]); // 数组将会被扩展,如下所示foo.call(bar, 1, 2, 3); // 传递到foo的参数是:a = 1, b = 2, c = 3

当使用 Function.prototype 上的 call 或者 apply 方法时,函数内的 this将会被 显式设置为函数调用的第一个参数。

因此函数调用的规则在上例中已经不适用了,在foo 函数内 this 被设置成了bar。第五种也是常见的call和apply用法的基本功能。

 

经常会遇到,却经常出错,总结一下,偶尔温故使用。

 

 





原标题:关于this指向问题的总结【转自秘密花园】

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

VAT注册指南一步一步教你如何完成注册:https://www.kjdsnews.com/a/1338953.html
VAT注册指南一步一步完成税务登记:https://www.kjdsnews.com/a/1338954.html
VAT注册申报流程及注意事项:https://www.kjdsnews.com/a/1338955.html
VAT注册申报流程及方法指南:https://www.kjdsnews.com/a/1338956.html
VAT注册申报指南完整步骤介绍:https://www.kjdsnews.com/a/1338957.html
VAT注册申报指南完善税务管理体系:https://www.kjdsnews.com/a/1338958.html
皇家游轮航线 皇家邮轮旅游攻略:https://www.vstour.cn/a/408245.html
2017春节旅游攻略有吗:https://www.vstour.cn/a/408246.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流