zoukankan      html  css  js  c++  java
  • JS之setTimeout

    源码如下,1秒后弹出锚点后面的数据

    <script type="text/javascript">
    
    var x=location.hash;
    function aa(x){
    alert(x);
    }; setTimeout(
    "aa('"+x+"')",1000); </script>

    然后看了下setTimeout这个函数,用法如下:

    语法

    setTimeout(code,millisec)
    参数描述
    code 必需。要调用的函数后要执行的 JavaScript 代码串。
    millisec 必需。在执行代码前需等待的毫秒数。

    其实,这个code并不是指一个函数,而可能是多个,而且会依次执行,如下:

    setTimeout("aa(alert(0),'1',alert(2),'3',alert(4));'5';alert(6)//)",1000);     

    1. code其实是三个参数:

      aa(alert(0),'1',alert(2),'3',alert(4)) 

      ‘5’

      alert(6)//)

    2. 先执行第一个aa,在把参数传给aa之前,会先看这些参数能不能执行,能的话先执行,所以首先依次输出 0,2,4

    3. 然后传给aa函数的多个参数,aa只会执行第一个,也就是alert(0),输出 undefined ,如果 alert(0) 和 ‘1’ 调换一下,那么传入的是 '1',所以会输出 1

    4. 然后执行下一个 ‘5’,不是一个函数,所以跳过

    5. 再执行 alert(6)//) ,斜杠注释了后面多余的括号,所以输出 6

    输出顺序是:0,2,4,undefined,6

  • 相关阅读:
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    HTML5
    53.Maximum Subarray
  • 原文地址:https://www.cnblogs.com/kuboy/p/7774864.html
Copyright © 2011-2022 走看看