我有一个关于 javascript 如何在内部存储函数的问题。鉴于此代码:
var makesomething = function (x) {
var thing = {
x: x
};
thing.do = function () {
this.x++;
};
return thing;
};
var x1 = makesomething(1);
var x2 = makesomething(2);
由于我两次调用了 makesomething 函数,这是否意味着“do”函数本质上存在两个副本,或者对象是否引用了相同的函数但被不同的闭包调用?