猿问

JavaScript关于运行时构造问题,求详细答案

var n = 1;


function foo() {

  return n

}


function Bar() {

  this.n = 2;

  this.b = foo;

}


var obj = new Bar();

obj.b(); // 1 or 2 ?


largeQ
浏览 493回答 1
1回答

Qyouu

1.函数在声明的时候其上下文执行环境就已经确定了,与调用语句的位置无关。return n 直接找到第一行的var n = 1
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答