`
a418040445
  • 浏览: 26537 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js setTimeout setinterval传递参数问题(参数是对象,不是字符串)

阅读更多
不客气了,老夫直接上代码了:


<script>
function main(data,closeFunction){
	window.setInterval(test(test1, data,closeFunction), 3000);
}

function test1(data,closeFunction){

	alert(data.name);
	closeFunction();

}

function test(func,data,closeFunction){
    return function(){
        func(data,closeFunction);
    }
}

var data = {name:"张三"};

main(data,function (){
	alert('closeFunction');
});
</script>




如果有帮到您,再送您一个红包;
打开支付宝首页搜“526991287”领红包,领到大红包的小伙伴赶紧使用哦!

分享到:
评论

相关推荐

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

    要想传递除字符串意外的参数,可以使用闭包的方式。例如: ```javascript var num = 2; function test() { var str = 'bbb'; setTimeout(auto(str), 4000); } function auto(str) { return function() { alert...

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

    但在JavaScript中,如何向setTimeout和setInterval传递参数呢?我们首先要了解,这两个函数是把要执行的代码插入到JavaScript引擎维护的一个代码队列中,然后在指定时间后,JavaScript引擎会去执行这个队列中的代码...

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

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

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

    在JavaScript编程中,window对象下的setTimeout和setInterval是两个非常重要的定时器方法,它们能够让某些函数延迟执行或者每隔一段时间重复执行。但是,由于这两个方法运行在一个由脚本宿主模拟出来的Timer线程中,...

    javascript setTimeout和setInterval计时的区别详解

    setInterval的参数传递问题与setTimeout类似,也可以通过上述方法解决。 通过这些知识点,可以看出setTimeout和setInterval在功能上非常相似,但各自的特点决定了它们在不同的场景下使用。例如,如果只需要延迟执行...

    理解javascript定时器中的setTimeout与setInterval

    与`setTimeout`一样,`setInterval`在标准浏览器和IE10以上版本也支持传递额外参数。 然而,`setTimeout`和`setInterval`在处理`this`关键字时有一个常见问题。由于它们执行的代码是在全局作用域中,因此`this`通常...

    JavaScript setTimeout和setInterval的使用方法 说明

    它的用法与setTimeout类似,也是接受两个参数:第一个参数同样是一个函数或代码字符串,第二个参数是时间间隔。与setTimeout不同的是,setInterval会在第一次执行后每隔给定的时间间隔重复执行代码。 #### 示例 ```...

    setTimeout和setInterval的浏览器兼容性分析

    通过对 `setTimeout` 和 `setInterval` 的浏览器兼容性问题的分析,我们了解到在IE浏览器中,这两个函数不支持函数参数传递这一特性。针对这一问题,可以通过使用全局变量、字符串形式的表达式或者创建闭包的方式...

    关于JS中setTimeout()无法调用带参函数问题的解决方法.docx

    这种方法的缺点是字符串化的函数不能直接利用JavaScript的动态性,如果参数包含复杂的数据类型(如对象),则需要额外的序列化和反序列化步骤,这可能导致代码更难以理解和维护。 ### JavaScript定时器的其他知识点...

    仅IE不支持setTimeout/setInterval函数的第三个以上参数

    例如,Firefox 在回调函数的 `arguments` 对象中包含了所有传递的参数,即使这些参数不是通过函数签名定义的。而在Safari、Chrome和Opera中,`arguments.length` 只包含前两个参数(即原始的 `function` 和 `delay`...

    JavaScript核心对象参考手册

    全局对象中包含了一些内置函数,如`eval()`用于执行一个字符串作为JavaScript代码,`setTimeout()`和`setInterval()`用于定时执行函数。 二、Number对象 Number对象用于处理数值类型,虽然在JavaScript中数字是...

    setTimeout与setInterval在不同浏览器下的差异

    使用 `setTimeout` 时,通常推荐使用函数对象而非字符串,因为字符串形式可能会导致性能下降,且不易调试。同时,考虑到跨浏览器兼容性,应避免依赖于特定浏览器的行为,尤其是在涉及参数传递时。如果需要传递参数给...

    javascript 不停(setInterval)/延时(setTimeout)函数使用实例

    - setTimeout 和 setInterval 可以用来执行任何 JavaScript 代码,包括调用函数或直接运行字符串形式的 JavaScript 代码。但使用字符串形式代码时需要格外小心,因为它可能会引入跨站脚本攻击(XSS)的风险,特别是...

    setInterval,setTimeout与jquery混用的问题

    在这里,我们直接传递`show`函数作为`setInterval`的第一个参数,而不是它的字符串表示,这样`setInterval`就能正确地调用该函数。 总结一下,当`setInterval`和`setTimeout`与jQuery混用时,需要注意以下几点: ...

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

    这段代码将字符串作为要执行的JavaScript代码传递给 setTimeout。它会延迟3秒执行字符串中的代码,并且将变量 userName 的值正确地传递给 hello 函数。不过,使用字符串的方式有一个缺点,那就是它不太直观,并且...

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

    总结来说,为了确保`setTimeout`和`setInterval`能够正确处理带参数的函数,应当使用匿名函数或者不依赖字符串的执行方式。同时,考虑到性能和安全性,建议优先选择使用匿名函数。理解这些细节对于编写健壮且高效的...

    JavaScript_window.setTimeout()_的详细用法

    - `callback`: 要在指定时间后调用的函数或要执行的一段代码(字符串形式)。 - `delay`: 表示延迟执行的时间,单位为毫秒(ms)。 - `...args`: 可选参数,用于传递给`callback`函数的参数。 ##### 2.2 示例 下面...

    关于setInterval、setTimeout在jQuery中的使用注意事项

    1. 不要在setInterval或setTimeout的第一个参数中使用字符串包含函数调用,应该直接传递函数引用。 2. 当需要向定时器中传递参数时,应采用匿名函数包装的方式进行传参。 3. 在扩展jQuery对象时,确保方法名被正确...

Global site tag (gtag.js) - Google Analytics