`
timeflowing
  • 浏览: 2659 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
社区版块
存档分类
最新评论

setTimeout传递参数

阅读更多
setTimeOut() 传递参数:

/*
* 先从正常的延时执行说起,以下代码会在2s后弹出true,OK
*/
function st(){
alert(true);
}
setTimeout(st, 2000);

/*
* 下面的代码也会弹出true,但不OK,因为延时没有起作用
*/
function st(arg){
alert(arg);
}
setTimeout(st(true), 2000);

/*
* 解决方法之一,这种方法可以应付参数为字符串型的,对object型就不OK了
*/
function st(arg){
alert(arg);
}
setTimeout(‘st(‘+ true +’)', 2000);

/*
* 解决方法之二,可以利用闭包(**简单实用,强烈推荐!)
*/
function st(arg){
return function(){alert(arg);}
}
var st1 = st(true);
setTimeout(st1, 2000);

/*
* 解决方法之三,可以重载 window.setTimeout 函数,代码转载有修改,这里也有用到闭包的概念
*/
var _st = window.setTimeout;
window.setTimeout = function(fRef, mDelay){
if(typeof fRef == ‘function’){
var argu = Array.prototype.slice.call(arguments,2);
var f = function(){
fRef.apply(null, argu);
};
return _st(f, mDelay);
}
return _st(fRef,mDelay);
}
function st(arg){
alert(arg);
}
setTimeout(st, 2000, true);
分享到:
评论

相关推荐

    向setTimeout传递函数参数

    在这个例子中,我们使用箭头函数确保`sayHello`方法的`this`指向`obj`对象,然后传递参数`'Jane'`。两秒后,控制台将输出`Hello, John, Jane`。 值得注意的是,`setTimeout`返回一个唯一的ID,可以通过`...

    精解window.setTimeout()window.setInterval()使用方式与参数传递问题!

    这是我们常常会使用方法setInterval或setTimeout,但是由于这两个方法是由脚本宿主模拟出来的Timer线程,在通过其调用我们的方法是不能为其传递参数。 我们常用的使用场景是: 代码如下:window.setTimeout(...

    javascript setTimeout()传递函数参数(包括传递对象参数)

    一个常见的需求是在setTimeout()中调用函数并传递参数,但是在使用字符串作为回调函数调用时,直接传递参数的方式可能会导致“未定义”的错误。这是因为JavaScript引擎无法识别字符串中的变量。为了解决这个问题,...

    使用自定义setTimeout和setInterval使之可以传递参数和对象参数

    /****************************************************** // // 功能: 修改window.setTimeout,使之可以传递参数和对象参数 // 使用方法: window.setTimeout(回调函数,延迟时间,参数1,参数n) // ******************...

    jQuery setTimeout传递字符串参数报错的解决方法

    总结来说,当使用setTimeout函数传递参数时,如果需要调用局部变量,则应避免传递字符串参数,而是直接传递函数引用或使用匿名函数封装。这种方法不仅避免了作用域相关的问题,也增强了代码的安全性。开发者在实际...

    js setTimeout 参数传递使用介绍

    window.settimeout()方法要调用带参数的函数有两种方法: 1. 代码如下: function init(){ var url = “<%=basePath%>fetchwater.do?method=searchRealWater&xzqh=” + “<%=xzqh%>” + “&rand=”+...

    JavaScript实现向setTimeout执行代码传递参数的方法

    本文实例讲述了JavaScript实现向setTimeout执行代码传递参数的方法。分享给大家供大家参考。具体分析如下: setTimeout函数是javascript中实现动态效果最关键的函数。但昨天在写代码的时候发现当第一个参数是函数...

    js中settimeout方法加参数.docx

    在这个例子中,`message`就是传递给`setTimeout`的参数。当3秒后回调函数被执行时,`message`会被作为参数传递给`console.log`函数。 #### 三、循环中的`setTimeout`与闭包问题 当在循环中使用`setTimeout`时,...

    js中settimeout方法加参数的使用实例.docx

    在实际应用中,我们常常需要向`setTimeout`传递参数,以便在函数执行时使用这些参数。在提供的文档中,有这样一段代码: ```javascript function timedMsg() { var a = "dd"; var t = setTimeout(function() { ...

    JS中setInterval、setTimeout不能传递带参数的函数的解决方案

    使用函数名字符串的方式可以传递参数,但这种方法的缺点是参数不能在运行时动态改变。例如: ```javascript setInterval("foo(id)", 1000); ``` 这里,`id` 的值在定时器创建时就被固化了,无法在之后的执行中...

    精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!

    然而,当需要在setTimeout或setInterval中调用函数并传递参数时,问题就会出现。直接在字符串形式的方法中传递参数是不行的,因为Timer线程无法访问非全局变量。例如: ```javascript function delayRun(param) { ...

    setTimeout应用(模拟站长之家导航)

    - `param1, param2, ...`: 可选参数,可以传递给`function`的值。 当调用`setTimeout`时,JavaScript会安排在指定延迟后执行提供的函数。这个延迟不是精确的,因为它依赖于浏览器的事件循环和其他正在运行的任务。...

    JavaScript中setTimeout和setInterval函数的传参及调用_.docx

    在传递参数时,需要注意的是,如果直接传递变量作为参数,可能会出现意外的结果。例如: ```javascript var str = 'aaa'; setTimeout('auto(str)', 4000); function auto(a) { alert(a); } ``` 这段代码可能会输出 ...

    Javascript定时器(二)——setTimeout与setInterval

    这里的`function`是要执行的函数,`delay`是等待的时间(以毫秒为单位),`param1, param2, ...`是传递给该函数的参数。例如,我们可以创建一个简单的延时提示框: ```javascript setTimeout(function() { alert('...

    js中settimeout方法加参数的使用实例

    本篇文档将详细解释如何在 `setTimeout` 中正确地传递参数,并通过实际代码示例来演示这一用法。 ### 基础用法 `setTimeout` 方法接受两个参数:第一个是需要执行的函数,第二个是执行函数前等待的毫秒数。如果...

Global site tag (gtag.js) - Google Analytics