`
talentluke
  • 浏览: 600824 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

给定时器settimeout、setInterval调用传递参数

 
阅读更多

使window.setTimeout/window.setInterval执行带参数的函数的方式(以setTimeout为例):

1.使用字符串形式.

如:window.setTimeout("alert('ok')",1000);

      或

    var msg = "ok";
    window.setTimeout("alertMsg(msg)", 1000);
    function alertMsg(pmsg) {
        alert(pmsg);
    }

2.借助嵌套匿名函数.

如:window.setTimeout(helpFn("ok"), 1000);
    function helpFn(pmsg) { return function() { alert(pmsg); } }

3.修改原 window.setTimeout

如:

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

    window.setTimeout = function(callback, timeout, param) {
        var args = Array.prototype.slice.call(arguments, 2);
        setTimeout(function() { callback.apply(null, args); }, timeout)
    }
    window.setTimeout(alertMsg, 1000, "ok");
    function alertMsg(pmsg) {alert(pmsg);}

分享到:
评论

相关推荐

    关于JS定时器(setTimeout setInterval)定时不准问题1

    关于JS定时器(setTimeout setInterval)定时不准问题1 在JavaScript中,setTimeout和setInterval是两个基本的定时器函数,用于实现延迟执行或循环执行某个函数。然而,这两个函数在执行时往往和我们设置的延迟时间...

    定时器(setTimeout/setInterval)调用带参函数失效解决方法

    setInterval(code,millisec[,”lang”]) setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 参数 描述 code 必需,要调用的函数或要执行的代码串。 millisec 必需,周期性执行或调用...

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

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

    js代码-settimeout 模拟实现 setinterval(带清除定时器的版本)

    在JavaScript中,`setTimeout`和`setInterval`是两个非常重要的定时器函数,它们用于在指定的时间后执行特定的函数。然而,`setInterval`在某些情况下可能不如我们期望的那样工作,因为它会周期性地不间断执行,即使...

    BOM系列第一篇之定时器setTimeout和setInterval

    然而,IE9及更早版本的浏览器不支持传递多个参数,因此需要使用立即调用的函数表达式(IIFE)或在外部定义函数并传递参数,以实现兼容。 关于`this`的指向,`setTimeout`内部的函数执行环境不是当前作用域,因此`this...

    Javascript中, setTimeout() 和 setInterval() 的方法

    与`setTimeout()`类似,`setInterval()`的第二个参数也是一个延迟时间,但区别在于它会每隔这个时间重复执行提供的函数。这也意味着,如果执行函数本身需要的时间超过设定的延迟,可能会出现函数调用的重叠。 考虑...

    Javascript 定时器调用传递参数的方法

    Javascript中实现定时器调用并传递参数是一个比较常见的需求。Javascript中的定时器主要有两种:window.setTimeout和window.setInterval。它们可以用来延迟执行或周期性地执行一个函数。然而,定时器的一个限制是,...

    理解javascript定时器中的setTimeout与setInterval

    在标准浏览器和IE10及以上版本,`setTimeout`可以接受额外参数,直接传递给延迟执行的函数。 另一方面,`setInterval`用于周期性地调用函数,直到被`clearInterval`取消。其语法结构相似: ```javascript var ...

    js 封装定时器解决多次调用定时器叠加问题及定时器无法清除的问题

    当一个函数或方法中包含`setTimeout`或`setInterval`,并且这个函数或方法被多次调用时,每次调用都会启动一个新的定时器,导致多个定时器并行运行。这不仅可能导致预期之外的行为,还可能消耗不必要的系统资源。 ...

    Javascript中setTimeOut和setInterval的定时器用法

    setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则是在每隔指定的毫秒数循环调用函数或表达式,直到clearInterval把它清除。也就是说setTimeout()只执行一次,setInterval()可以执行多...

    JavaScript定时器setTimeout()和setInterval()详解

    它需要一个定时器标识作为参数,该标识是在`setTimeout()`返回的。例如: ```javascript var timer = setTimeout(test, 2000); clearTimeout(timer); // 取消定时器 ``` 2. **间歇调用setInterval()** `...

    setTimeout和setInterval的区别

    这里,`setTimeout`或`setInterval`可能被用来定期调用`track`函数,以保持数据的实时性,但具体的实现没有在提供的代码片段中展示。 需要注意的是,使用`setInterval`时,由于JavaScript的事件循环机制,如果执行...

    js定时器(执行一次、重复执行)

    本文将深入探讨两种主要类型的JavaScript定时器:一次性执行的定时器(setTimeout)和重复执行的定时器(setInterval),以及如何清除这些定时器。 1. **一次性执行的定时器(setTimeout)** - `setTimeout` 函数...

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

    在JavaScript中,`setInterval` 和 `setTimeout` 是两个非常重要的定时器函数,它们用于在指定的时间间隔后执行一次或多次指定的函数。然而,一个常见的问题是,当直接使用函数名作为参数时,这两个函数都无法直接...

    uni-app定时器实例

    - `clearTimeout()`: 使用这个函数可以取消由`setTimeout()`设置的定时器。 - `setInterval()`: 这个函数会在每指定的毫秒数后重复调用一个函数或执行某段代码。返回的也是定时器ID,用于清除定时器。 - `...

    给c#添加SetTimeout和SetInterval函数.docx

    ### 给C#添加SetTimeout和SetInterval函数 在日常的软件开发过程中,我们经常会遇到需要定时执行某些任务的情况。JavaScript 提供了 `setTimeout` 和 `setInterval` 这两个非常方便的函数来处理这样的需求。然而,...

    关于setInterval定时器的使用示例

    3. **避免使用字符串参数**:有时人们会将代码作为字符串传递给`setInterval`,如`setInterval("console.log('Hello')", 1000)`,这种做法不推荐,因为它会触发`eval`,带来性能问题和安全风险。 4. **清除定时器**...

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

    为了解决这个问题,我们可以自定义这两个函数,使其支持传递参数和对象参数。 在提供的代码中,开发者创建了两个新的函数 `mySetTimeout` 和 `mySetInterval`,它们覆盖了原有的 `window.setTimeout` 和 `window....

Global site tag (gtag.js) - Google Analytics