zoukankan      html  css  js  c++  java
  • javascript 笔记——setTimeout的参数问题

    setTimeout("xxx",500)

    双引号中的作用域不捕捉局部变量,因此会报错误

    如果你需要在双引号中可以在外部定义一个变量


      
    var now; window.onload = function(){ var dom = document.getElementById("nowTime"); var getNowTime = function(){ return Date().split(" "); } var setNowTime = function(){ var arr = getNowTime(); dom.innerHTML = arr; now=setNowTime setTimeout("now()", 500); } setNowTime(); }
    追问:
    setTimeout(setNowTime, 500); 可以,为什么呢?
    追答:

    不用双引号包着的是捕捉局部作用域的

         var a = function()
        {
            alert(1111)
        }
        function abc()
        {
            var a= function ()
            {
                alert(2222)
            }
            setTimeout("a()",3000)//111
            setTimeout(a,3000)//222
        }
        abc()
    
  • 相关阅读:
    java final计算
    浅析Java中的final关键字
    easyui
    Java:类与继承
    java中&和&&
    XML
    JSON
    SQL
    selenium
    Metasploit
  • 原文地址:https://www.cnblogs.com/MonaSong/p/5527574.html
Copyright © 2011-2022 走看看