注:使用了jQuery
当我们为HTML元素添加监听绑定外部函数的时候,是这样写的
$("#item").addEventListener("click", doSomething);
function doSomething() {
//这里的this指向HTML元素对象,可操作DOM
$(this).remove();
}
外部函数里的this指向的是HTML元素对象,但如果我们需要访问window全部变量呢?
这时我们可以使用bind()方法指定外部函数的this指向。
this.x = "xxx";
$("#item").addEventListener("click", doSomething.bind(this));
function doSomething() {
//这里的this指向全局变量
alert(this.x);
}
这时,外部函数的this就可以指向window以访问全部变量了。
核心要点:使用bind()方法可以指定外部函数的this指向,不加bind则该函数的this默认指向HTML元素对象。
版权属于:月琳cc
本文链接:https://kerrinz.com/archives/6.html
作品采用《知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议》进行许可,转载请务必注明出处!