1、自执行函数中的this永远指向window
var obj = {
fn: (function () {
console.log(this);//this-->window
return 12;
})()
};2、给元素的事件绑定方法,当触发事件执行对应方法的时候,方法中的this是当前的元素
oDiv.onclick=function(){
//this-->oDiv
}3、普通函数中的this总是指向它的直接调用者;如果没有调用者在严格模式下this是 undefined,在非严格模式下this指向window
例题:
var num = 1;
var obj = {
num: 2,
fn: (function () {
this.num *= 2;
num *= 2;
var num = 3;
return function () {
this.num *= 2;
num *= 3;
console.log(num);
}
})()
};
var fn = obj.fn;
console.log(num);//2
fn();//9
obj.fn();//27
console.log(window.num);//4
console.log(obj.num);//4解析:
1、console.log(num);
num==window.num,代码从上到下执行
推荐例题链接blog.csdn.net/YX_GUO_L/ar…