我知道你可以在JS中使用函数作为参数.
当我将语句alert("d")作为参数传递时 - 一切都会触发.
dc.embed.load('http://www.documentcloud.org/search/embed/', {some json
}, alert("d"));
Run Code Online (Sandbox Code Playgroud)
但是,当我通过一个完整的功能 - 声明只是不起作用.
dc.embed.load('http://www.documentcloud.org/search/embed/', {some json
}, function() {
alert("d");
});
Run Code Online (Sandbox Code Playgroud)
为什么可能警告火 - 但匿名功能不起火?
在第一种情况下,您正在调用alert("d")并传递该结果undefined,作为函数的第三个参数.因此,警报会在您的load函数被调用之前运行.在第二种情况下,第三个参数是一个实际函数,如果它被调用将执行警报.它看起来好像从未被调用过.您需要调查dc.embed.load函数的行为,并查看它如何以及何时调用您传递的函数作为其第三个参数.
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |