我只是在学习JavaScript,我不确定为什么当我把函数赋值给变量时,它会自动执行。
我的印象是,分配一个变量本质上就像把东西放进一个容器。
比如,为什么这会在控制台中自动返回'hello'?
let a = console.log('hello')
我希望控制台只返回'hello',如果我调用。
或者为什么这会自动返回一个提示:
let answer = parseInt(prompt("Please enter the number you would like to FizzBuzz up to: "));
我希望它只在我调用变量answer时返回提示符。
我如何将一个函数分配给一个变量而不自动执行它?
1条答案
按热度按时间vxqlmq5t1#
无论何时你在函数后面加上括号(或者是带参数的括号,或者是空括号),你都是在告诉它执行。然后分配给变量的是函数执行的 * 结果 *。
可以将函数本身赋值给一个变量而不执行它,就像这样:
但是如果你想预先提供参数,或者函数内部使用
this
关键字,有一些注意事项。最简单的方法可能是将它放在另一个函数中。
或者使用更短的语法,如注解中所述: