javascript - 这个函数调用有什么区别?

标签 javascript

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/

相关文章:

javascript - 如何最轻松地在 JQuery Mobile (JQM) 嵌入式/内部页面之间传递 URL 参数/数据?

javascript - 模拟 Lodash 方法以返回特定值

javascript - 每秒生成 0 到 100 之间的增量随机数,其中新数字应大于前一个数字

php - json data char '&' 干扰ajax post请求数据

javascript - 页面没有占用整个 div 的大小

javascript - 无法在 GridView 内单击按钮时打开弹出式 div

JavaScript - String.split() 但对于数组?

javascript - 如何限制字符串长度

javascript - 将类名添加到使用 AJAX 和 PHP 数组生成的范围

javascript - AndroidScript - DrawArc 等效吗?