zoukankan      html  css  js  c++  java
  • setTimeout()传带有参数的函数

    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秒后弹出参数值。

  • 相关阅读:
    金融新手投标模块布局小Demo
    jQuery序列化Ajax提交表单
    javascript实现jsonp跨域问题+原理
    javascript返回顶部插件+源码
    mime中间件
    移动端meta标签的设置
    Node环境下实现less编译
    diogo谈框,仿prompt()方法布局
    linux驱动程序框架基础
    C/C++下Netbeans的配置
  • 原文地址:https://www.cnblogs.com/xiaochongchong/p/5566915.html
Copyright © 2011-2022 走看看