这个问题通过几位朋友的回答,我已经理解了很多,而更深的知识,我想也不是几句话就能说清的(比如 IIEF 、单列之类的),这需要我自己去寻找相关的知识点,加深理解。
最后,我会采纳“依云”的答案,毕竟他是第一个回答了这个问题的朋友,而且言之有物,所有对于另外几位朋友,我只能说声抱歉了。答案只能采纳一个,但心里的感谢是可以分为几份的。在此,真挚的感谢这几位朋友,你们的回答,对我很有帮助。
这是问题:前两个输出和后两个为什么不一样?
如果可以从 对象、自执行、闭包、垃圾回收(也许是与这有关)等方面或者你觉得有关的方面加以解释,本人万分感激。
var myTest = (function () {
var stringA = "A";
var stringB = "B";
function setAB() {
stringA = "now is a";
stringB = "now is b";
}
function getAB() {
return {
"stringA": stringA,
"stringB": stringB
};
}
return {
"setAB": setAB,
"getAB": getAB,
"stringA": stringA,
"stringB": stringB
};
})();
myTest.setAB();
var stringAB = myTest.getAB();
console.log(myTest.stringA);//A
console.log(myTest.stringB);//B
console.log(stringAB.stringA);//now is a
console.log(stringAB.stringB);//now is b
哈士奇WWW
相关分类