var unique = function(){
var n=0;
return function(){
return {
inc : function(){
n++;
console.log(n);
}
};
};
};
console.log(unique()().inc());
上面的代码打印 1,然后打印 undefined ,打印 undefined 的原因是什么?
最佳答案
因为您要求记录 inc
返回的值,但它没有返回任何内容。
如果您不想打印任何内容,
console.log(unique()().inc());
应该是
unique()().inc();
如果您希望打印 n
的新值,
inc : function(){ n++; console.log(n); }
应该是
inc : function(){ n++; console.log(n); return n; }
关于javascript - 调用从函数返回的对象的函数打印未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31884397/