JavaScript的this的用法
函数调用
直接调用函数时,不管调用位置如何(函数内或函数外),this都指向全局对象window。
注意:在严格模式下,这种用法是不允许,this返回值是undefined
1 | function foo(x){ |
对象调用
当函数作为对象的方法调用时,函数内的this指向当前调用对象
以下代码中this指向p对象,即当前对象,而不是window
1 | var n = "true"; |
构造函数
在构造函数中,this指向新创建的实例对象。
以下代码,函数内部的this指向新创建的对象f
1 | function F(x){ |
内部函数
内部函数,相当于直接调用函数所以this指向window
1 | var n = "true"; |
要使用this指向p对象,代码修改如下
1 | var n = "true"; |