JS中的this指向问题
-
在全局作用域中
=>this -> window
<script> console.log(this); //this->window </script>
-
在普通函数中
=>this取决于谁调用,谁调用我,this就指向谁,跟如何定义无关
var obj = { fn1:function() { console.log(this); }, fn2:function(){ fn3() } } function fn3() { console.log(this); } fn3();//this->window obj.fn1();//this->obj obj.fn2();//this->window
-
箭头函数中的this
=>箭头函数没有自己的this,箭头函数的this就是上下文中定义的this,因为箭头函数 没有自己的this所以不能用做构造函数。
var div = document.querySelector('div'); var o={ a:function(){ var arr=[1]; //就是定义所在对象中的this //这里的this—>o arr.forEach(item=>{ //所以this -> o console.log(this