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

本文实例讲述了JavaScript实现向setTimeout执行代码传递参数的方法。分享给大家供大家参考。具体分析如下:

setTimeout函数是javascript中实现动态效果最关键的函数。但昨天在写代码的时候发现当第一个参数是函数调用的时候,不能向被调函数传递参数。这真是个非常严重的问题,我排查了好久才发现问题,浪费了N多时间啊。。

后来上网查了查,这其实是IE的一个BUG。解决方法有很多,其中我觉得最牛的一种就是重写setTimeout函数。。。这个太麻烦了。。这里推荐一种十分简单的方法。只需要在你要调用的函数前加上function{}关键字就行了。

function ShowMsg(x,y)
{
}
setTimeout(funtion(){ShowMsg(x,y)},1000);

这样就方便地解决了不能传参的问题。

希望本文所述对大家的javascript程序设计有所帮助。

(0)

相关推荐

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

    在JS中无论是setTimeout还是setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数, 这就需要想方法解决. 一.采用字符串形式:--(缺陷)参数不能被周期性改变 setInterval("foo(id)",1000); 二.匿名函数包装 (推荐) 复制代码 代码如下: window.setInterval(function() { foo (id); }, 1000); 这样就可以周期性执行foo(id)这个函数,而且把变量id传递进去: 三

  • js中settimeout方法加参数

    js中settimeout方法加参数的使用.简单使用看w3school 里面没有参数调用, 例子: 复制代码 代码如下: <script type="text/javascript"> function timedMsg() { var a ="dd"; var t=setTimeout(function(){ cao(a);},3000) } function cao(a) { alert(a); } </script> </head

  • Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)

    Document自带的方法: 循环执行:var timeid = window.setInterval("方法名或方法","延时");window.clearInterval(timeid); 定时执行:var tmid = window.setTimeout("方法名或方法", "延时");window.clearTimeout(tmid); 举例说明: A.当要执行的方法中不需要参数时 复制代码 代码如下: <scr

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

    简单使用看w3school 里面没有参数调用, 例子如下 复制代码 代码如下: <script type="text/javascript"> function timedMsg() { var a ="dd"; var t=setTimeout(function(){ cao(a);},3000) } function cao(a) { alert(a); } </script> </head> <input type=&

  • js setTimeout 参数传递使用介绍

    window.settimeout()方法要调用带参数的函数有两种方法: 1. 复制代码 代码如下: function init(){ var url = "<%=basePath%>fetchwater.do?method=searchRealWater&xzqh=" + "<%=xzqh%>" + "&rand="+Math.random(); //alert(url); window.setTimeo

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

    于是,上网查找了一下,用了另一种写法setTimeout("fun("+参数+")", 1000),还是不行,但是以上写法在传递form表单的textarea是可以的,比如hml是这样: 复制代码 代码如下: <body> <div class="main"> <div id="showpane" class="showpane"> </div> <di

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

    本文实例分析了JS中setTimeout()无法调用带参函数问题的解决方法.分享给大家供大家参考,具体如下: 解决方法:重写setTimeout() 方法,需要用到闭包函数.如下: var _st = window.setTimeout; window.setTimeout = function(fRef, mDelay){ if (typeof fRef == 'function') { var argu = Array.prototype.slice.call(arguments, 2);

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

    本文实例讲述了JavaScript实现向setTimeout执行代码传递参数的方法.分享给大家供大家参考.具体分析如下: setTimeout函数是javascript中实现动态效果最关键的函数.但昨天在写代码的时候发现当第一个参数是函数调用的时候,不能向被调函数传递参数.这真是个非常严重的问题,我排查了好久才发现问题,浪费了N多时间啊.. 后来上网查了查,这其实是IE的一个BUG.解决方法有很多,其中我觉得最牛的一种就是重写setTimeout函数...这个太麻烦了..这里推荐一种十分简单的方

  • JS函数动态传递参数的方法分析【基于arguments对象】

    本文实例讲述了JS函数动态传递参数的方法.分享给大家供大家参考,具体如下: js函数体内可以通过arguments对象来接收传递进来的参数,利用这一对象属性可以动态传参. function box() { return arguments[0]+' | '+arguments[1]; //得到每次参数的值 } alert(box(1,2,3,4,5,6)); //传递参数 arguments对象的length属性可以得到参数的数量. function box() { return argumen

  • 使用JPA传递参数的方法

    目录 JPA传递参数的方法 第一种 第二种 浅谈JPA优缺点 一.JPA的理解 二.JPA 实体生命周期理解和总结 三.为什么要使用JPA? JPA传递参数的方法 第一种     /**      *  通过年龄来查询数据.      *  使用@Query来配置自己定义的SQL,后面的参数nativeQuery = true才是表明使用了原生的sql      *  如果不配置,默认为false,那么将使用HQL查询方式.      *      * @param age      * @re

  • Django中reverse反转并且传递参数的方法

    在写项目的过程中,有些函数不可避免的需要传入参数进去,所以我们在使用reverse进行反转时也需要传递参数.这个时候我们就可以使用 'reverse()' 中的 kwargs 参数了,它将传入一个字典形式的变量.kwargs 也支持传入多个参数 示例代码 首先在Django项目中新建一个'reverse'的app用来测试. 在views.py中写入以下代码 from django.shortcuts import render,redirect,reverse from django.http

  • AngularJS入门教程二:在路由中传递参数的方法分析

    本文实例讲述了AngularJS在路由中传递参数的方法.分享给大家供大家参考,具体如下: 我们不仅可以在控制器中直接定义属性的值,比如: app.controller('listController',function($scope){ $scope.name="ROSE"; }); AngularJS还提供了传递参数的功能,目前我接触到的一种方式是从视图中传参: <!--首页html--> <li><a href="#/user/18"

  • asp.net中使用cookie传递参数的方法

    本文实例讲述了asp.net中使用cookie传递参数的方法.分享给大家供大家参考.具体如下: //传值 HttpCookie cookie = new HttpCookie("mycookie"); cookie.Value = "cookie值"; Response.AppendCookie(cookie); Response.Redirect("index.aspx"); //接收 Request.Cookies["mycooki

  • jsp中四种传递参数的方法

    今天老师讲了jsp中四种传递参数的方法,我觉得总结一下,挺好的,以备后用! 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="index.jsp"?a=a&b=b&c=c>name</a> 4.<jsp:param> 下面一一举例说明: 1.form表单 form.jsp: <%@page contentType="tex

  • Android编程实现启动另外的APP及传递参数的方法

    本文实例讲述了Android编程实现启动另外的APP及传递参数的方法.分享给大家供大家参考,具体如下: 有时候需要从一个APP中启动另外一个APP,比如Twitter/微信等. 如果你不知道那个APP的Activity,但是知道包名(package name),那么可以使用如下的方法: Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address"); startActi

  • C#往线程里传递参数的方法小结

    传参方式有两种: 1.创建带参构造方法类 传参 2.利用Thread.start(8)直接传参,该方法会接收一个对象,并将该对象传递给线程,因此在线程中启动的方法 必须接收object类型的单个参数. Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托. Thread (ThreadStart) 初始化 Thread 类的新实例. 由 .NET Compact Framework 支持. Thread (

  • apicloud拉起小程序并传递参数的方法示例

    最近工作中遇到一个需求:App拉起微信小程序.App是用APICloud开发的.查阅APICloud文档发现 端API->开放SDK->wx模块下有launchMiniProgram方法可以实现官方文档 于是在项目中添加wx模块. 官方示例代码: var wx = api.require('wx'); wx.launchMiniProgram({ apiKey: '', // 字符串,微信开放平台获取的appid, 不传则从当前widget的config.xml中读取 miniProgramT

随机推荐