此函数调用之间有什么区别
What is the difference between this function call?
setInterval("RunSlide()", 5000);
首先,调用带有括号和引号的函数。
setInterval("RunSlide", 5000);
其次,调用不带括号但仍使用引号的函数。
setInterval(Runslide, 5000);
第三,调用不带括号和引号的函数。
RunSlide();
第四,调用带括号的函数。
RunSlide;
第五,调用不带括号的函数。
即使结果可能相同,使用不同的参数类型也存在差异。
<小时 />-
setInterval ("argument as string", delay)
这将导致与将字符串传递给
eval
相同的行为,因此不建议这样做(出于相同的确切原因,可以在 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 引用的函数,另一个不会(根本不做任何事情(。
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- 在ember/handlers中使用value和valueBinding有什么区别
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- Math.min()和Math.max()之间有什么区别?在Javascript中
- angularjs中的ng网格和ui网格有什么区别
- webpack开发模式和生产构建模式之间有什么区别
- 缓存!saveLocations()和addLocation()函数有什么区别
- 关于承诺/A+规范,术语“当时可”和“承诺”之间有什么区别
- 以下两者在javascript中有什么区别
- jquery.js和jquery.lite.js有什么区别
- 通过Nuget安装Angular JS和Angular JS核心有什么区别
- XMLHttpRequest对象的open()和send()方法之间有什么区别
- 这两种不同的创建对象文字的方法有什么区别
- jQuery中这两个词有什么区别
- 在Javascript语法中:和::和:::有什么区别
- getElementById 和 getElementsByClassName 有什么区别?
- (typeof variable === “function”) 和 jQuery.isFunction() 有什么区别
- 在使用JS的Ajax调用中,ajaxComplete和beforesend之间有什么区别
- $(e.target).find和template.find('input').value之间有什么区别
- 在javascript中,在变量名之前使用var有什么区别/优势吗