在此示例中的相同位置解释不同的console.log值

时间:2018-03-30 09:51:58

标签: javascript function constructor scope

在下面的代码片段中,虽然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;
&#13;
&#13;

  

注意:重复的问题是与此代码无关的一般提问。我在问这个特殊的问题,而不是   一式两份说明。请重新开始。

0 个答案:

没有答案