1、關于函數中this
1.1、this的概念
this指的是你的函數執行時所在的執行環境(作用域),也就是什么調用this,那么this就指向哪里。
1.2、this的具體指向
this的指向一般分為四種:
1、在全局范圍調用this的時候,this指向windows。例子如下:
<script type="text/javascript">
console.log(this)
</script>
2、當一個函數被當成一個對象的方法來調用時,this指向這個對象。例子如下:
<script type="text/javascript">
var a = {
name:"a",
fun:function(){
return this
}
}
console.log(a.fun())
</script>
3、通過事件來調用時,this指向這個函數的調用者。例子如下:
<body>
<button>click</button>
</body>
<script type="text/javascript">
var btn = document.querySelector('button');
btn.addEventListener('click', function() {
console.log(this); //this
})
</script>
4、在構造函數中的this指向它的實例化對象。例子如下:
<script type="text/javascript">
function Fun(name){
this.name = name;
}
var fun1 = new Fun("fun");
console.log(fun1)
</script>