this的指向
1.作为对象的方法调用
当函数作为对象的方法被调用是,this指向该对象:
var obj = { a: 1, getA: function(){ alert ( this === obj ); //输出:true alert ( this.a ); // 输出: 1 }};obj.getA();
2.作为普通函数调用
此时的this总是指向全局对象。在浏览器的JavaScript里,这个全局对象是window对象。
window.name = 'globalName';var getName = function(){ return this.name;};console.log( getName() ); //输出:globalName
或者:
window.name = 'globalName';var myObject = { name: 'sven', getName: function(){ return this.name; }};var getName = myObject.getName;console.log( getName() ); //globalName
比如在div节点的事件函数内部,有一个局部的callback方法,callback被作为普通函数调用时,callback内部的this指向了window,但我们往往是想让它指向该div节点,见如下代码:
我是一个div
查看更多关于JavaScript:this关键字_html/css_WEB-ITnose的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did114881