实例化函数时,局部变量如何保存在内存中?

时间:2018-12-20 18:21:05

标签: javascript

function MyFunc()
{
     var msg = 'hello';
     this.speak = function() {
         console.log(msg);
     }
}

var obj = new MyFunc();
obj.speak();

以上代码的怪异之处在于它可以正常工作。但是“ msg”不是对象的一部分。那么“ msg”如何保存在内存中。如果这样做的话,我会更加了解:

this.msg = 'hello';
console.log(this.msg);

因为这是实例化对象的一部分。但是如何将“ var msg”之类的常规变量与此对象一起保存?

编辑:此问题与闭包不同,因为这是一个特定的用例。

0 个答案:

没有答案