代码描述:js函数中 this指向全局对象window。js函数中this指向全局对象window源码实例
本章节介绍一下为什么在某些场景下this会指向全局的window对象。 当然this在setTimeout()中的指向并不是都是window对象,而是在一些情况下,看起来是指向某个对象,但实际上是指向window的,下面就通过代码实例分析一下此种情况,代码如下:
<script> var str="全局"; var obj={ str:"对象", func:function(){ setTimeout(this.test,1000); }, test:function(){ console.log(this.str); } } obj.func() </script>
上面代码的输出结果是"全局",这说明test函数中的this指向是全局对象。 之所以这样,是因为上面的代码等效于如下代码:
<script> var str="全局"; var obj={ str:"对象", func:function(){ var done=this.test setTimeout(done,1000); }, test:function(){ console.log(this.str); } } obj.func() </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能