目录
1. 直接打印一个this
2.普通函数的打印this
3. 定时器内部打印this
4. 对象打印this
5. 按钮点击事件打印this
6. 构造函数里面的this指向
1. 直接打印一个this
// 1. 直接打印this
console.log(this); // // Window
2.普通函数的打印this
指向window
// 2. 直接调用函数
function fun() {
console.log(this);
}
fun(); // Window
3. 定时器内部打印this
this指向window
var clock = setInterval(function () {
console.log('100');
console.log(this); // window
}, 1000);
var clock1 = setTimeout(function () {
console.log(this); // window
}, 1000);
4. 对象打印this
发现打印的是调用的对象本身
var obj = {
name: 'xxx',
star: function () {
console.log(this);
}
}
5. 按钮点击事件打印this
打印的是按钮本身。为什么?
因为是点击按钮而触发的点击事件,this指向按钮
// 5. 按钮点击事件
btn.addEventListener("click", function () {
console.log(this); // button这个按钮这个元素
})
6. 构造函数里面的this指向
前提1:一定先有对象实例调用了构造函数
结论:谁调用了方法,this就指向谁。下面是对象实例调用了该方法,就是指向该对象
function Star(name, hobby) {
this.name = name;
this.hobby = hobby;
console.log(this); // 刘德华这个对象
}
var ldh = new Star('刘德华', '唱歌');
结尾:
学习id: 201903090124-
现在是大三学生,学习到了前后端交互阶段,如有不对的地方,欢迎指正,一起努力呀。如有转载请注明出处。
|