setInterval("RunSlide()", 5000);
首先,用括号和引号调用一个函数。
setInterval("RunSlide", 5000);
其次,调用一个没有括号但仍然使用引号的函数。
setInterval(Runslide, 5000);
第三,调用不带括号和引号的函数。
RunSlide();
第四,用括号调用函数。
RunSlide;
第五,不带括号调用函数。
最佳答案
即使结果可能相同,使用不同的参数类型也会有所不同。
setInterval(“参数为字符串”,延迟)
这将导致与将字符串传递给
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,另一个不会(根本不做任何事情)。
关于javascript - 这个函数调用有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509375/