w3cshool里的解释:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,语法:setTimeout(code,millisec)。

也就是说,第一个参数可以是字符串形式的JavaScript代码,比如:setTimeout("alert('5 seconds!')",5000)。

方法里面还可以传函数,比如

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<script> setTimeout(pop,1000)
function pop(){
alert("pop()执行了")
}
</script>
</body>
</html>

  

这段代码没什么问题,1秒后弹窗了。

但如果带有参数呢?比如以下这种

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<script>
setTimeout(pop("aaa"),1000)
function pop(text){
alert(text)
}
</script>
</body>
</html>

  

测试发现,这样写没起到延迟的效果。参数立马弹出了。对于这种情况,用一个匿名函数包裹就可以了:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<script>
setTimeout(function(){pop("aaa")},1000)
function pop(text){
alert(text)
}
</script>
</body>
</html>

  

上面的代码就没有问题了。1秒后弹出参数值。

setTimeout()传带有参数的函数的更多相关文章

  1. settimeout 传递带有参数的函数

    方法一:传递带有参数的function给settimeout,写个函数,该函数返回一个不带参数的函数 <script language="javascript"> fu ...

  2. js setTimeout 传递带参数的函数的2种方式

      js setTimeout 传递带参数的函数的2种方式 Created by Marydon on 2018年9月14日 1.准备工作 function sayYourName(param) { ...

  3. setTimeout调用带参数的函数的方法

    function test(s){    alert(s);}window.setTimeout(function(){test('str');},1000);这样就可以了...为什么是这样呢.因为s ...

  4. 解决 js setTimeout 传递带参数的函数无效果

    最近 js  用到 setTimeout 递归调用 刷新进度  setTimeout ("getProgress(name,type)", 3000) ; 发现getProgres ...

  5. js传带参数的函数

    字符串: setTimeout('pageScroll(4)',100);

  6. 如何用javascript 的eval动态执行一个需要传对象参数的函数

    代码如下: var method = 'setRiskItemAmount_'+id[1]+'(id[0],id[2],this.value);'; console.log(method); eval ...

  7. scala的传名参数

    scala如果你想实现像if ,while等类似的控制结构,根本没有值要传入花括号{}直接的代码里.要怎么实现. 比如说,我们要实现一个断言的控制结构,myAssert(), myAssert函数参考 ...

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

    setInterval 和 setTimeout 这两个函数比较好用,但会遇到比如说我隔个几秒后要执行的函数是带参数的,这种情况怎么办?可以用匿名函数包装处理 //不带参数的函数 function t ...

  9. setTimeOut传参数

    最近,因项目需要,需要实现setTimeOut传参数的功能,搜索了很多的资源.终于找到一个比较好的方法了,记录下来,与大家分享. 无论是window.setTimeOut还是window.setInt ...

随机推荐

  1. (9)使用JdbcTemplate【从零开始学Spring Boot】

    整体步骤: (1)   在pom.xml加入jdbcTemplate的依赖: (2)   编写DemoDao类,声明为:@Repository,引入JdbcTemplate (3)   编写DemoS ...

  2. cannot find -lGL

    解决方法: 以下操作都在root权限下进行! 1.按照提示安装对应的库文件,fedora安装库件的格式:yum install libxxx(你要装的库),如果已经安装GL库,会显示已经安装 Ps:如 ...

  3. poj 3469 最小割模板sap+gap+弧优化

    /*以核心1为源点,以核心2为汇点建图,跑一遍最大流*/ #include<stdio.h> #include<string.h> #include<queue> ...

  4. 0918如何利用jmeter通过程序插入测试数据

    第一步 添加线程组 第二步 添加HTTP信息头管理器 第三步 添加HTTP请求 第四步 添加HTTP请求[POST] 第五步 添加查看结果树

  5. MySQL Workbench出现:Error Code: 2013. Lost connection to MySQL server during query的问题解决

    解决办法: [Edit]->[Preference]->[SQL Editor] 将下图DBMS connection read time out (in seconds)适当调大: 参考 ...

  6. Dagger2使用攻略

    Dagger2使用攻略 Dagger 2 是 Square 的 Dagger 分支,是一种依赖注入框架.眼下由 Google 接手进行开发,Dagger2是使用代码自己主动生成和手写代码来实现依赖注入 ...

  7. Centos6.2中配置tomcat

    这里我使用的是tomcat6, 我使用的是server版本号的Centos, 前提是安装而且配置好了JDK. 首先通过samba把我的tomcat压缩包, 复制到了共享的文件夹.然后移动到./usr文 ...

  8. 3D语音天气球(源代码分享)——通过天气服务动态创建3D球

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3 ...

  9. 【C语言】编写函数,将一个数的指定位置置0或置1

    //编写函数,将一个数的指定位置置0或置1 #include <stdio.h> unsigned int set_bit(unsigned int num, int pos, int f ...

  10. Configure environment variables for different tools in jenkins

    安装以下的工具,并在Jenkins中的Manage Jenkins-->Configure System-->Global Properties-->Environment Vari ...