1粥烁、關(guān)于函數(shù)中this
1.1、this的概念
this指的是你的函數(shù)執(zhí)行時(shí)所在的執(zhí)行環(huán)境(作用域)蝇棉,也就是什么調(diào)用this讨阻,那么this就指向哪里。
1.2篡殷、this的具體指向
this的指向一般分為四種:
1钝吮、在全局范圍調(diào)用this的時(shí)候,this指向windows板辽。例子如下:
<script type="text/javascript">
console.log(this)
</script>
2奇瘦、當(dāng)一個(gè)函數(shù)被當(dāng)成一個(gè)對(duì)象的方法來調(diào)用時(shí),this指向這個(gè)對(duì)象戳气。例子如下:
<script type="text/javascript">
var a = {
name:"a",
fun:function(){
return this
}
}
console.log(a.fun())
</script>
3链患、通過事件來調(diào)用時(shí)巧鸭,this指向這個(gè)函數(shù)的調(diào)用者瓶您。例子如下:
<body>
<button>click</button>
</body>
<script type="text/javascript">
var btn = document.querySelector('button');
btn.addEventListener('click', function() {
console.log(this); //this
})
</script>
4、在構(gòu)造函數(shù)中的this指向它的實(shí)例化對(duì)象。例子如下:
<script type="text/javascript">
function Fun(name){
this.name = name;
}
var fun1 = new Fun("fun");
console.log(fun1)
</script>