Understanding setInterval(function() {...}, time)
Understanding setInterval(function() {...}, time)
I完全理解当您调用这样的匿名函数时:
var assign_Function = function() { *code here...*; }
// You can now use it like this:
assign_Function();
对于对象,
A={first_Property:12, second_Property:15}; // Object literal syntax
A.third_Property: function() { *code here...*; }
A.third_Property(); // Call the method
但是,当function()被放入一个方法(或括号)中,然后被分配给一个变量时,会发生什么呢?像这样:
var x = setInterval(function() { *some code here*...; }, 1500);
x现在是x()吗?
否。x
现在是您调用的函数的返回值。在您的情况下,您调用了setInterval()
,它返回一个间隔的ID,稍后可以使用clearInterval()
清除该ID。
var x = setInterval(function() { *some code here*...; }, 1500);
// Later in your code...
clearInterval(x); // Stops the interval from continuing to repeat
这与从不同的函数返回值没有什么不同
function returnSomething() {
return 'test';
}
var y = returnSomething(); // y is now "test"
但是,当function()被放入一个方法(或括号)中,然后被分配给一个变量时,会发生什么呢?
在这种情况下,函数表达式在求值时返回一个函数对象。然后将函数对象传递给周围的代码。例如:
var fn = function(){/* body */};
bar(fn);
实际上与写作相同:
bar(function()/* body */});
唯一的区别是,在第一种情况下,引用存储在fn中的函数对象,但在第二种情况下不保留引用。在这两种情况下,bar都有效地传递了一个函数对象作为参数。
在以下情况下:
var x = bar(…);
则根据bar的返回值为x分配一个值,它不引用传递给bar的参数。
x
是一个变量而不是函数,因为setInterval
的返回类型不是函数而是Interval Id。
相关文章:
- 直接在函数声明上使用function.prototype.bind
- jQuery:.click(function(){(element),collapse('show',f
- Datetime格式为Friendly Time.Moment JS输出错误
- 如果连接类型为none,则Javascript Function Only警报
- onLoad function phonegap android
- reducers在redux中得到Function not Object,what'it’他错了
- WIll window.addEventListener(“加载”,function(),false);等待浏览器自动填
- $(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
- Javascript onunload function
- 在init function()中调用getElementById(“..”),而不是想用它做点什么的函数
- spyOn:应为间谍,但得到了Function
- Selectboxit Load Time
- 当点击今天按钮时,Bootstrap Date Time Picker未选择当前时间
- (typeof variable === “function”) 和 jQuery.isFunction() 有什么区别
- this内部的值返回this.each(function(){})
- 如何在JavaScript中创建类似于something.function()的函数
- 如何通过 Function.prototype.apply() 更改调用函数的参数
- 控制台中的“function floor(){[本机代码]}”是什么
- Understanding setInterval(function() {...}, time)
- setInterval(function(),time) 在运行时更改时间