函数赋值时this执行环境的改变缘故
函数赋值时this执行环境的改变原因
请问最后一种调用的方式得到的结果为什么是"the window"?越详细越好,谢谢!
我只知道肯定是跟赋值操作时this的执行环境的改变有关系,但是不太清楚具体的过程。
------解决思路----------------------
目前可以这么粗糙的理解,但是理解为bug的话,里边也有沉淀多年的js历史问题,后面了解其它js全局概念后,在回来了解。
<!DOCTYPE html>
<html>
<head>
<title>This Object Example 3</title>
</head>
<body>
<script type="text/javascript">
var name = "The Window";
var object = {
name : "My Object",
getName: function(){
return this.name;
}
};
alert(object.getName()); //"My Object"
alert((object.getName)()); //"My Object"
alert((object.getName = object.getName)()); //"The Window" in non-strict mode
</script>
</body>
</html>
请问最后一种调用的方式得到的结果为什么是"the window"?越详细越好,谢谢!
我只知道肯定是跟赋值操作时this的执行环境的改变有关系,但是不太清楚具体的过程。
------解决思路----------------------
目前可以这么粗糙的理解,但是理解为bug的话,里边也有沉淀多年的js历史问题,后面了解其它js全局概念后,在回来了解。