zoukankan      html  css  js  c++  java
  • JavaScript 对象 实例

    http://www.w3school.com.cn/example/jsrf_examples.asp

    显示一个钟表

    http://www.w3school.com.cn/tiy/t.asp?f=jsrf_date_timing_clock

    <html>
    <head>
    <script type="text/javascript">
    function startTime()
    {
    var today=new Date()
    var h=today.getHours()
    var m=today.getMinutes()
    var s=today.getSeconds()
    // add a zero in front of numbers<10
    m=checkTime(m)
    s=checkTime(s)
    document.getElementById('txt').innerHTML=h+":"+m+":"+s
    t=setTimeout('startTime()',500)
    }

    function checkTime(i)
    {
    if (i<10)
    {i="0" + i}
    return i
    }
    </script>
    </head>

    <body onload="startTime()">
    <div id="txt"></div>
    </body>
    </html>

    JS里关于setTimeout函数的中断问题

    http://zhidao.baidu.com/question/121288257

    setTimeout(function(){location.reload();},1000),可否在执行计时过程中设置个按键让它停止执行下去?

    问题补充:

    能写出详细的代码吗?我要的是以按键的形式让其结束

    满意回答
    解决方法捕获按键的事件。
    <script language="javascript">
    function test(event) {
    event = event || window.event;
    if(event.keyCode==13) { alert("你按了回车") }
    if(event.shiftKey==true) { alert("你按了shift") }
    if(event.ctrlKey==true) { alert("你按了ctrl") }
    if(event.altKey==true) { alert("你按了alt") }} </script>

    每个按键都对应一个ASCII码 比如回车的ASCII码是13 每个按键的ASCII码你可以在百度上查。

    setTimeout() 方法的返回值是一个唯一的数值,如果你想要终止 setTimeout() 方法的执行,那就必须使用 clearTimeout() 方法来终止,而使用这个方法的时候,系统必须知道你到底要终止的是哪一个 setTimeout() 方法 (因为你可能同时调用了好几个 setTimeout() 方法),这样 clearTimeout() 方法就需要一个参数,这个参数就是 setTimeout() 方法的返回值 (数值),用这个数值来唯一确定结束哪一个 setTimeout() 方法

    你的setTimeout(function(){location.reload();},1000)会返回一个值。
    比如你要用回车结束setTimeout js代码如下。
    function test(event,id) {
    event = event || window.event;
    if(event.keyCode==13) {
    clearTimeout(id);
    }
    }
    这里的ID 就是你 setTimeout方法的返回值。了解了吗?


    JavaScript中声明全局变量三种方式的异同

    http://snandy.iteye.com/blog/720816

    变量及声明变量是一门语言最基本的概念,入门者都会很快掌握。JavaScript中声明变量也是如此,很简单var(关键字)+变量名(标识符),如下:

    Js代码  收藏代码
    1. var test;  
    2. //或var test = 5;  

    需注意的是该句不能包含在function内,否则是局部变量。这是第一种方式声明全局变量。下面是第二种方式:

    Js代码  收藏代码
    1. test = 5;  

    没有使用var,直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个function内,当该function被执行后test变成了全局变量。

    第三种方式如下:

    Js代码  收藏代码
    1. window.test;  
    2. //或window.test = 5;  

    这种方式经常被用到一个匿名函数执行后将一些函数公开到全局。

    如果只是使用变量test,那么三种方式将没有什么区别。比如:alert(test) 都将显示5。但三种方式在某些情况下还是有区别的,下面分别列出。

    分别按以上三种方式声明三个变量a1,a2,a3:

    Js代码  收藏代码
    1. a1 = 11;  
    2. var a2 = 22;  
    3. window.a3 = 33;  
     

    1,for in window对象时

    Js代码  收藏代码
    1. for(a in window){  
    2.     if(a=='a1'||a=='a2'||a=='a3'){  
    3.         alert(a)  
    4.     }  
    5. }  
     

    IE6/7/8/及IE9 pre3  :只弹出了a3,说明通过第一,二种方式声明的全局变量通过for in window对象时将获取不到(原因:http://snandy.iteye.com/blog/723672 )。

    Firefox/Chrome/Safari/Opera :a1,a2,a3都弹出了,说明三种方式声明的全局变量,通过for in window对象时都能获取到。

    2,delete时

    Js代码  收藏代码
    1. try {  
    2.     alert(delete a1);  
    3. }catch(e){alert('无法delete a1')}  
    4.   
    5. try{  
    6.     alert(delete a2);  
    7. }catch(e){alert('无法delete a2')}  
    8.   
    9. try{  
    10.     alert(delete a3);  
    11. }catch(e){alert('无法delete a3')}  
     

    结果如下:

      IE6/7/8 IE9/Firefox/Chrome/Safari/Opera
    delete a1 true true
    delete a2 false false
    delete a3 无法delete a3 true

    可以看到,

    1,delete a2所有浏览器都是false。即通过var声明的变量无法删除,所有浏览器表现一致。这在犀牛书上也有提到。

    2,通过window.a3方式声明的全局变量在IE6/7/8/9中均无法删除,Firefox/Chrome/Safari/Opera中却可以。

    3,IE9 pre3很奇怪,delete a1显示false,即不能delete隐式声明的全局变量。

    虽然有以上两点不同,但当用in运算时,都返回true。如下

    Js代码  收藏代码
    1. alert('a1' in window);//true  
    2. alert('a2' in window);//true  
    3. alert('a3' in window);//true  
     

    用with打开对象window闭包时,所有浏览器也表现一致,如下

    Js代码  收藏代码
    1. with(window){  
    2.     if(a1){  
    3.         alert(a1);//11  
    4.     }  
    5.     if(a2){  
    6.         alert(a2);//22  
    7.     }  
    8.     if(a3){  
    9.         alert(a3);//33  
    10.     }     
    11. }  
     
     


  • 相关阅读:
    Sql获取表中随机1到n条数据
    SQLite相关
    Eclipse自动生成api时报错“警告: 编码 GBK 的不可映射字符”
    Git基础命令
    Oracle查询结果行转列,列转行
    字符串编码方式转换
    Java字符串匹配正则表达式
    python爬虫--编码问题y
    GET与POST方法
    python爬虫(1)--Urllib库的基本使用
  • 原文地址:https://www.cnblogs.com/chulia20002001/p/2837191.html
Copyright © 2011-2022 走看看