`

setTimeout / setInterval 参数传递问题释疑

 
阅读更多

最近在使用

  window.setInterval(function, millsecond)

 

 window.setTimeout(funciton.millsecond)

   在给funciton 传递参数时总是报错,最后如下解决,通过类似匿名函数的方式比较方便的传递参数,减少全局变量的个数。

 

	function showRemind() {
		$.get("/ecp/ecp/system/userRemind/lastHourData.ht", function(data) {
			//alert("222"+data);
			var obj = eval("(" + data + ")");
			var i = 0;
			while (i < obj.length) {
				var title = obj[i].title;
				var content = obj[i].content;
				var url = obj[i].url;
				var timeout = obj[i].timeout;
				//timeout=10000;
				window.setTimeout(function (){
					showDialog(title,content,url);
				}, timeout);
				i = i + 1;
			}
		});
	}

 

 

 

  核心代码:

 

window.setTimeout(function (){
	showDialog(title,content,url);
}, timeout);
 

这样就很方便的在匿名函数中直接调用其他函数的代码。

 

开始如下一直报错:

 

window.setTimeout(showDialog(title,content,url), timeout);
 

具体原因找个时间好好研究下。

 

 

分享到:
评论

相关推荐

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

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

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

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

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

    然而,在非IE浏览器中,`setTimeout` 和 `setInterval` 支持传递额外的参数,这些参数将会在回调函数内部作为局部变量使用。例如: ```javascript setTimeout(function(obj) { alert(obj.a); }, 2000, {a:1}); ```...

    向setTimeout传递函数参数

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

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

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

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

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

    漏洞的那点事

    攻击者利用应用程序的动态展示数据功能,在html页面里嵌入恶意代码。当用户浏览该页之时,这些嵌入在html中的恶意代码会被执行,用户... 反射型 存储型 DOM型(eval,innerhtml,setTimeout,setInterval,document.write)

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

    JavaScript 中 setTimeout 和 setInterval 函数的传参及调用 在 JavaScript 中,setTimeout 和 setInterval 函数都是用于在指定的时间点执行某个函数的,但是它们的传参方式和调用方式却有所不同。 setTimeout ...

    JS中的setTimeout和setInterval的区别JS中的setTimeout和setInterval的区别

    ### JS中的setTimeout与setInterval的区别 在JavaScript编程中,`setTimeout`与`setInterval`是两个非常常用的函数,用于控制代码执行的时间间隔。虽然它们在功能上有一定的相似性,但其实现的效果却大不相同。下面...

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

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

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

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

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

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

    javascript之setTimeOut和setInterval的用法

    使用SetInterval和设定延时函数setTimeout 很类似。setTimeout 运用在延迟一段时间,再进行某项操作。

    setTimeout和setInterval的区别

    在JavaScript中,定时执行任务是通过`setTimeout`和`setInterval`这两个函数来实现的。它们都是用于在指定延迟后执行代码,但它们之间存在显著的区别。 `setTimeout`函数用于在给定的`DelayTime`(延迟时间)过后...

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

    这意味着,如果你试图通过 `setTimeout` 传递参数给函数,则函数内部将无法获取这些参数。 示例代码如下: ```javascript function show(str) { alert("mysite: " + str); } setTimeout(show, 100, ...

    Javascript中setTimeOut和setInterval的定时器用法

    Javascript的setTimeOut和setInterval函数应用非常广泛,它们都用来处理延时和定时任务,比如打开网页一段时间后弹出一个登录框,页面每隔一段时间发送异步请求获取最新数据等等。但它们的应用是有区别的。 ...

    javascript setTimeout和setInterval计时的区别详解

    要解决这个问题,可以使用匿名函数或者函数封装的方法来正确地传递参数。 以setTimeout为例,假设有一个`sayHello`函数,需要在5秒后传入名字参数执行: ``` function sayHello(name){ alert("Hello, " + name); }...

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

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

Global site tag (gtag.js) - Google Analytics