今天我被告知可以调用没有括号的函数.我能想到的唯一方法是使用像apply或者这样的函数call.
f.apply(this);
f.call(this);
Run Code Online (Sandbox Code Playgroud)
但这些需要括号apply并将call我们留在第一个方位.我还考虑了将函数传递给某种事件处理程序的想法,例如setTimeout:
setTimeout(f, 500);
Run Code Online (Sandbox Code Playgroud)
但问题就变成了"你如何在setTimeout没有括号的情况下调用它?"
那么这个谜语的解决方案是什么?如何在不使用括号的情况下在Javascript中调用函数?
我不知道如何解释这个,但是当我跑步时
console.log`1`
Run Code Online (Sandbox Code Playgroud)
在谷歌浏览器中,我得到的输出就像
console.log`1`
VM12380:2 ["1", raw: Array[1]]
Run Code Online (Sandbox Code Playgroud)
为什么反引号调用日志函数,为什么它的索引是raw: Array[1]?
Catgocat在JS房间里提出了一个问题,但除了一些关于模板字符串的内容之外没有任何答案是有意义的,因为这些字符串并不真正适合发生这种情况的原因.
javascript ecmascript-6 template-strings template-literals tagged-templates