我是JS的新手,我只是在玩语法。
当我打电话
budgetController.publicTest2();
我得到:
46未定义
我期望46,但是为什么我也得到未定义?
完整代码:
var budgetController = (function() {
var x = 23;
function add(a) {
return a + x;
}
return {
publicTest: function() {
const y = add(23);
return y;
},
publicTest2: function() {
return (function(d){
console.log(d());
})(budgetController.publicTest);
},
}
})();
budgetController.publicTest2();
答案 0 :(得分:3)
控制台打印出undefined
,因为那是budgetController.publicTest2()
表达式的返回值。
控制台始终打印出您输入的表达式的值。例如:
1 + 2
,将返回3
。 console.log(3)
,您将获得3
和undefined
(返回
表达式console.log(3)
的值)