setInterval("RunSlide()", 5000);
首先,使用括号和引号调用函数。
setInterval("RunSlide", 5000);
其次,调用一个没有括号但仍然使用引号的函数。
setInterval(Runslide, 5000);
第三,调用没有括号和引号的函数。
RunSlide();
第四,用括号调用函数。
RunSlide;
第五,调用不带括号的函数。
答案 0 :(得分:2)
即使结果可能相同,但使用不同的参数类型也存在差异。
setInterval ("argument as string", delay)
这会导致与将字符串传递到eval
相同的行为,因此不推荐(出于同样的原因,可以找到关于该主题的更多内容on the web )。
示例摘录:
setInterval ("console.log ('hello world');", 100);
setInterval (func_reference, delay, param1, param2, ...)
这将导致调用func
指向的函数,这是推荐的选项。如果以这种方式调用函数,您还可以将参数传递给要执行的函数。
示例摘录:
function say_it (word1, word2) {
console.log (word1 + " " + word2);
}
setInterval (say_it, 100, "hello", "world");
setInterval (function (word1, word2) {
console.log (word1 + " " + word2);
}, 100, "hello", "world);
使用第一个参数作为包含仅的字符串调用setInterval
函数的名称完全没有意义,该函数将不会被执行。这与在代码中的某处写下面的内容相同。
alert;
在上面的示例之后,RunSlide();
和RunSlide;
之间的差异应该非常明显,一个会调用名称 RunSlide 引用的函数,另一个不会(执行)什么都没有。)