1、this指什么
/**
* this是指函数的执行主体(不是上下文):意思是谁把函数执行的
* 函数的执行主体就是谁;
*
* this非常不好理解,以后遇到this,想一句话:
* “你以为你以为的就是你以为的”
*/
2、关于this的总结:
/**
* (1)给元素的某个事件绑定方法,当事件触发执行的时候
* 方法中的this就是当前操作的元素本身;
*/
/**
* (2)如何确定执行主体是谁:
* 当方法执行的时候,我们看方法前面是否有点(.),
* 没有点,this是window或者undefined;
* 有点点前面是谁this就是谁;
*/
var name = 'XXX';
function fn() {
console.log(this.name);
}
var obj = {
name: 'hello world!',
fn: fn
}
obj.fn(); // this => obj
fn(); // this => window(严格模式下,this是undefined)
/**
* (3)自执行函数中的this是window或者undefined
*/
(function () {
console.log(this);
})()
/**
* 如果函数执行时前面没有点,不管这个函数在哪创建的,在哪
* 执行的,一般这个函数中的this都是window或者undefined;
*/
网友评论