初识this

执行的主体,谁来执行this就是谁

注意上下文
全局作用域下this就是window

我们主要研究私有作用域下的this
1.自执行函数的this永远是window
2.给谁绑定事件的时候给谁绑的this 指的就是谁
(function(){
console.log(this)
})();

var oUl=document.getElementsById("oUl");
var oLis=oUl.getElementsByTagName("li");
for(var i=0;i<oLis.length;i++){
oLis[i].onclick=function(){
++this.innerHTML;
}
}

函数执行的时候看前面有没有点,有的话点前面是谁this就是谁,如果没有点this就是window

name="天线宝宝";
function X(){
console.log(this.name)
}
X();//window.name="天线宝宝"
var obj1={
name:"奥特曼",
X:X,
obj2:{
name:"海绵宝宝",
X:X
}
console.log(obj2);
X();
obj1.X();
obj1.obj2.X()
}

函数当做参数的时候this是window,
一般常见于定时器

setTimeout(function(){
console.log(this)},100);
[1,2,3,4,5,5].sort(function (a,b){
console.log(this);
return a-b
})
posted @ 2017-06-26 14:18  和盛商行  阅读(128)  评论(0编辑  收藏  举报