Nix*_*Nix 3 javascript firefox
为什么Firefox(v16)中没有以下工作?
var t = setTimeout(foo(), 1000);
Run Code Online (Sandbox Code Playgroud)
我在控制台中遇到的错误是:"无用的setTimeout调用(参数周围缺少引号?)".将它包装在引号中似乎没什么用,除了使它呈现为字符串(不出所料).
但是当我将它包装在一个像这样的匿名函数中时,它确实工作正常:
var t =
setTimeout(function(){
foo();
}, 1000);
Run Code Online (Sandbox Code Playgroud)
但为什么有必要呢?为什么它不会在Webkit或Opera中爆炸?幸运的中风?
Dan*_*ite 10
这是因为你foo在第一个例子中调用它.
它基本上与这样做:
var tempResultOfFoo = foo();
var t = setTimeout(tempResultOfFoo, 1000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8332 次 |
| 最近记录: |