在下面的代码片段中,虽然console.log
对于相同的代码是相同的,但为什么在调用函数时提供2个不同的结果,制作新对象?我知道函数在JS中有自己的作用域,因此函数内部至少console.log应该对两种情况都有相同的结果。为什么,2个结果有所不同?
另外,函数内部的范围是如何占用窗口范围而不是它自己的范围(函数有自己的范围,如果这不应该与窗口对象相同)。
<html>
<head></head>
<body>
<script>
e = 50;
function alpha() {
this.a = 10;
this.b = 20;
this.e;
console.log(this.e);
}
alpha();
var b = new alpha;
</script>
</body>
</html>
&#13;
注意:重复的问题是与此代码无关的一般提问。我在问这个特殊的问题,而不是 一式两份说明。请重新开始。