javascript 匿名函数中this为什么是window对象?

JavaScript018

javascript 匿名函数中this为什么是window对象?,第1张

this在面向对象的编程语言里指的是当前对象。

1、在匿名函数中,因为匿名函数不是一个对象,所以在匿名函数内的中的当前对象应该是其父对象,没有自定义的父对象只能是其根对象Window。

2、解释实例如下:

<script type="text/javascript">

window.onload=function(){

alert(this)

}

</script>

结果弹出的应该为window对象,因为此时匿名函数不是对象,只是一个实践处理函数,所以this应该为当前对象即window对象。

匿名函数的this一般都是指向window的,这个不需要分析。

《javascript高级程序设计》这本书里的匿名函数这一章也有讲到,摘抄如下:

this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。不过,匿名函数的执行环境具有全局性,因为其this对象通常指向window。