我刚刚学习 javascript,我不确定为什么当我将函数分配给变量时它会自动执行。
我的印象是分配变量本质上就像将东西放入容器中一样。
比如,为什么控制台会自动返回“hello”?
let a = console.log('hello')
如果我调用 a,我希望控制台仅返回“hello”。
或者为什么会自动返回提示:
let answer = parseInt(prompt("Please enter the number you would like to FizzBuzz up to: "));
我希望它只在我调用变量answer时返回提示。
如何将函数分配给变量而不自动执行?
每当您将括号放在函数名称旁边(括号内有或没有参数)时,您就是在告诉它执行。分配给变量的是函数执行的结果。
JavaScript 中有多种方法可以将函数的执行暂停到稍后阶段,但最简单的方法可能是将其放在另一个函数中。
// not executed yet
let a = function() {
console.log('hello');
}
// execute it
a()