this的指向的几种情况
在每一个函数中,都有一个内置的变量:this
大多数情况下,this存储的是当前函数的调用者
this指向在定义时是不确定的,在不同的情况下,this指向是不一定相同的
1.全局函数下 this指向该window
function fn(){
console.log(this);
}
fn();
2.匿名函数对象的方法中,this指向该对象 a.b.c.d() d中的this指向c
// 匿名函数
var p = {
name:"马老师",
title:{
name:"如意门掌门",
skill:function(){
console.log("闪电五连鞭");
console.log(this); //指向title
}
}
}
p.title.skill(); // 闪电五连鞭
console.log(p); //p对象
3事件绑定中this 指向事件源
var btn = document.getElementById("btn")
btn.onclick = function(){
console.log(this); //指向btn
}
4定时器函数,this指向window setTimeout setInterval
setInterval(function(){
console.log(this);
},1000)
5构造函数 this指向实例化出来新的对象
function Person(name, age) {
this.name = name;
this.age = age;
}
var p = new Person(1,2) // this指向新创建的实例对象
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
html表单的应用(新手小白必看)
