JS定时器_setTimeout

ZC:setInterval 为自动重复,setTimeout 不会重复。

1、

window.setTimeout(A, B);

window.clearTimeout(?);

 

2、

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 
 3 <html>
 4 
 5 <style type="text/css">
 6 </style>
 7 
 8 <script type="text/javascript" >
 9 
10     window.onload = function()
11     {
12         var t1 = window.setTimeout(Hello, 500);
13         var t2 = window.setTimeout("Hello()",1000);//使用字符串执行方法
14         //window.clearTimeout(t1);//去掉定时器
15         //window.clearTimeout(t2);//去掉定时器
16 
17         var zz = new Tzz();
18         window.setTimeout(zz.SayHi, 500);
19         window.setTimeout(Tzz.prototype.SayBye01, 500);
20         window.setTimeout(Tzz.prototype.SayBye02, 500);
21         window.setTimeout(zz.SayBye, 500);
22         window.setTimeout(Tzz.SayHi01, 500);    // ZC: 没有任何反应
23         window.setTimeout(Tzz.SayBye02, 500);    // ZC: 没有任何反应
24 
25         Tzz.prototype.SayBye01.call(window);
26     };
27 
28     function Hello()
29     {
30         console.log("hello");
31     }
32 
33     function Tzz()
34     {
35         this.SayHi = function()
36         {
37             console.log("Hi");
38         };
39         this.SayHi01 = function()
40         {
41             console.log("Hi01");
42         };
43     }
44 
45     Tzz.prototype = 
46     {
47         SayBye : function()
48         {
49             console.log("Bye");
50         },
51 
52         SayBye01 : function()
53         {
54             console.log("Bye01");
55         },
56     };
57 
58     Tzz.prototype.SayBye02 = function()
59     {
60         console.log("Bye02");
61     };
62 
63 </script>
64 
65 <div id="div01">
66 </div>
67 
68 </html>

 

ZC: 测试下来,

setTimeout(zz.SayHi, 500);
setTimeout(Tzz.prototype.SayBye01, 500);
setTimeout(Tzz.prototype.SayBye02, 500);
setTimeout(zz.SayBye, 500);

这样都是OK的(注意 Tzz.prototype.SayBye01作为参数,当它被调用时 this应该是指向window的)

 

3、

 

posted @ 2016-03-15 21:57  Html5Skill  阅读(2267)  评论(0编辑  收藏  举报