时间:2021-05-25
复制代码 代码如下:
setTimeout(function(obj){
alert(obj.a);
}, 2000, {a:1});
即传了第三个参数,第三个参数将作为回调函数的参数obj传入。在非IE浏览器中都弹出了1。这样有个好处,即解决了回调函数的执行上下文,比如要调用某个对象的某个方法,即可以通过参数把该对象传进去。
复制代码 代码如下:
setTimeout(function(obj){
obj.method();
}, 2000, obj);
当然,你还可以传多个参数给回调函数,如下
复制代码 代码如下:
setTimeout(function(a, b){
alert(a);
alert(b);
}, 2000, 1,2);
这次我们传了两个参数1,2给回调函数,Firefox/Safari/Chrome/Opera中依次弹出了1,2。只要你愿意还可以传更多。
虽然除了IE不支持第三个参数外,但Firefox和Safari/Chrome/Opera之间还是有区别的
复制代码 代码如下:
setTimeout(function(){
alert(arguments.length);
}, 2000, 1,2);
传了两个参数1,2给回调函数,然后alert出实参的长度
Firefox : 3
Safari/Chrome/Opera : 2
奇怪吧,明明传的是两个参数,但Firefox中弹出的却是3。如果输出第三个参数会发现它是一个数字,有时还是负数。
关:
http:///en-us/library/ms536753%28v=vs.85%29.aspx
//解决IE下setTimeout传参数的bug
复制代码 代码如下:
//解决IE下setTimeout传参数的bug
if(!+[1,]) {
(function(overrideFun){
window.setTimeout = overrideFun(window.setTimeout);
window.setInterval = overrideFun(window.setInterval);
})(
function(originalFun){
return function(code, delay){
var args = [].slice.call(arguments, 2);
return originalFun(
function(){
if (typeof code == 'string') {
eval(code);
}
else {
code.apply(this, args);
}
},
delay
)
}
}
);
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
INSTR的第三个参数为1时,实现的是indexOf功能。INSTR的第三个参数为-1时,实现的是lastIndexOf功能。例如:INSTR('wenjin_
addEventListener有三个参数:第一个参数表示事件名称(不含on,如"click");第二个参数表示要接收事件处理的函数;第三个参数为useCapt
css中,filter仅支持ie6以及以上版本,其余浏览器,包括firefox,chrome,opera,Safari都不支持。 要在这些版本设置透明度,
excel中index嵌套match函数用法详细步骤实例,index函数的作用是在第一个参数(指定的区域引用),根据相对行号(第二个参数),相对列号(第三个参数
if函数包含三个参数,第一个是条件语句,第二个是真,第三个是假,那么在excel中怎么使用if函数?下面为大家分享if函数功能使用方法,来看看吧。 方法/