﻿﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>帮助信息-动天数据 &#187; setinterval参数</title>
	<atom:link href="http://www.583idc.com/news/?feed=rss2&#038;tag=setinterval%E5%8F%82%E6%95%B0" rel="self" type="application/rss+xml" />
	<link>http://www.583idc.com/news</link>
	<description>提供虚拟主机帮助信息</description>
	<lastBuildDate>Mon, 30 Oct 2023 02:58:59 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>setinterval参数  setinterval函数传参的使用</title>
		<link>http://www.583idc.com/news/?p=1666</link>
		<comments>http://www.583idc.com/news/?p=1666#comments</comments>
		<pubDate>Wed, 13 Dec 2017 08:58:07 +0000</pubDate>
		<dc:creator><![CDATA[dthost]]></dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[setinterval参数]]></category>

		<guid isPermaLink="false">http://www.583idc.com/news/?p=1666</guid>
		<description><![CDATA[1 2 3 4 5 6 7 8 function a(s) {    alert(s); } setInter [&#8230;]]]></description>
				<content:encoded><![CDATA[<div>
<div id="highlighter_213565" class="syntaxhighlighter  html">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2"></div>
<div class="line number1 index0 alt2"></div>
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="html plain">function a(s)</code></div>
<div class="line number2 index1 alt1"><code class="html plain">{</code></div>
<div class="line number3 index2 alt2"><code class="html spaces">   </code><code class="html plain">alert(s);</code></div>
<div class="line number4 index3 alt1"><code class="html plain">}</code></div>
<div class="line number5 index4 alt2"><code class="html plain">setInterval("a()",100);</code></div>
<div class="line number6 index5 alt1"><code class="html plain">我想传递一个参数过去，怎么弄？</code></div>
<div class="line number7 index6 alt2"></div>
<div class="line number8 index7 alt1"><code class="html plain">这个参数有可能是变量有可能是常数。</code></div>
</div>
</td>
</tr>
</tbody>
</table>
<p>setInterval是一个实现定时调用的函数，可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval方法会不停地调用函数，直到 clearInterval被调用或窗口被关闭。</p>
<p>由setInterval返回的ID值可用作clearInterval方法的参数。</p>
<p><img id="js-entry-image" class="pic" title="" src="https://p1.ssl.qhmsg.com/dr/270_500_/t01fd7d9eb66e032ba2.jpg?size=631x409" alt="setInterval" width="270" /></p>
</div>
</div>
<div id="topic-extra-info">
<div class="social-share"></div>
<div class="social-share">setInterval("a('text')",100);</p>
<p>setInterval(function(){a("text")},100);</p></div>
<div class="social-share"> var obj=document.getElementById("mydiv");<br />
setInterval("a('"+obj+"')",100);<br />
obj是变量不可以带单引号得</p>
<p>var obj=document.getElementById("mydiv");<br />
setInterval(function{a(obj)},100);</p></div>
<div class="social-share">在JavaScript中的setInterval() 方法可按照指定的周期（以毫秒计）来调用函数或计算表达式。setInterval() 方法会不停地调用函数，直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数来将其停止。<br data-filtered="filtered" /><br data-filtered="filtered" />其实提上对函数的调用均能执行。首先我们看以下代码<br data-filtered="filtered" /></p>
<div id="antzone_brush_box">
<div class="brush_box">[HTML]</div>
<div>
<div id="highlighter_202582" class="syntaxhighlighter notranslate html">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">01</div>
<div class="line number2 index1 alt1">02</div>
<div class="line number3 index2 alt2">03</div>
<div class="line number4 index3 alt1">04</div>
<div class="line number5 index4 alt2">05</div>
<div class="line number6 index5 alt1">06</div>
<div class="line number7 index6 alt2">07</div>
<div class="line number8 index7 alt1">08</div>
<div class="line number9 index8 alt2">09</div>
<div class="line number10 index9 alt1">10</div>
<div class="line number11 index10 alt2">11</div>
<div class="line number12 index11 alt1">12</div>
<div class="line number13 index12 alt2">13</div>
<div class="line number14 index13 alt1">14</div>
<div class="line number15 index14 alt2">15</div>
<div class="line number16 index15 alt1">16</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="html spaces">   </code><code class="html plain">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;</code><code class="html keyword">html</code><code class="html color1">xmlns</code><code class="html plain">=</code><code class="html string">"http://www.w3.org/1999/xhtml"</code><code class="html plain">&gt;</code></div>
<div class="line number2 index1 alt1"><code class="html plain">&lt;</code><code class="html keyword">head</code><code class="html plain">&gt;</code></div>
<div class="line number3 index2 alt2"><code class="html spaces">    </code><code class="html plain">&lt;</code><code class="html keyword">title</code><code class="html plain">&gt;&lt;/</code><code class="html keyword">title</code><code class="html plain">&gt;</code></div>
<div class="line number4 index3 alt1"><code class="html spaces">    </code><code class="html plain">&lt;</code><code class="html keyword">script</code><code class="html color1">type</code><code class="html plain">=</code><code class="html string">"text/javascript"&gt;</code></div>
<div class="line number5 index4 alt2"><code class="html spaces">      </code><code class="html plain">function fun(){</code></div>
<div class="line number6 index5 alt1"><code class="html spaces">            </code><code class="html plain">alert(1);</code></div>
<div class="line number7 index6 alt2"><code class="html spaces">        </code><code class="html plain">}</code></div>
<div class="line number8 index7 alt1"><code class="html spaces">      </code><code class="html plain">setInterval("fun()",1000); //全局作用域下正常执行</code></div>
<div class="line number9 index8 alt2"><code class="html spaces">      </code><code class="html plain">setInterval(fun(),1000); //调用函数正常，setInterval调用出错</code></div>
<div class="line number10 index9 alt1"><code class="html spaces">      </code><code class="html plain">setInterval(fun,1000);  //正确</code></div>
<div class="line number11 index10 alt2"><code class="html spaces">    </code><code class="html plain">&lt;/</code><code class="html keyword">script</code><code class="html plain">&gt;</code></div>
<div class="line number12 index11 alt1"><code class="html plain">&lt;/</code><code class="html keyword">head</code><code class="html plain">&gt;</code></div>
<div class="line number13 index12 alt2"><code class="html plain">&lt;</code><code class="html keyword">body</code><code class="html plain">&gt;</code></div>
<div class="line number14 index13 alt1"></div>
<div class="line number15 index14 alt2"><code class="html plain">&lt;/</code><code class="html keyword">body</code><code class="html plain">&gt;</code></div>
<div class="line number16 index15 alt1"><code class="html plain">&lt;/</code><code class="html keyword">html</code><code class="html plain">&gt;</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br data-filtered="filtered" />    我所给出的代码和提问题人是一样的，唯一的区别就是函数名不同罢了！如果大家做了相关测试都应该知道，就以上代码来说都会弹出结果1.<br data-filtered="filtered" />当然以上代码其执行环境为全局。setInterval 第一个参数 可以是函数名、匿名函数、函数的引用以及其他可执行代码。<br data-filtered="filtered" /><br data-filtered="filtered" /></p>
<div id="antzone_brush_box">
<div class="brush_box">[JavaScript]</div>
<div>
<div id="highlighter_36984" class="syntaxhighlighter notranslate javascript">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="javascript plain">setInterval(</code><code class="javascript string">"fun()"</code><code class="javascript plain">,1000);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br data-filtered="filtered" />其中这种加引号的调用就可以理解为 可执行代码  就行eval 一样去执行第一个参数，就是对fun方法的调用 理所当然的弹出 1  一秒钟间隔，一直执行。<br data-filtered="filtered" />-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br data-filtered="filtered" /></p>
<div id="antzone_brush_box">
<div class="brush_box">[JavaScript]</div>
<div>
<div id="highlighter_307204" class="syntaxhighlighter notranslate javascript">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="javascript plain">setInterval(fun(),1000);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br data-filtered="filtered" />而这个调用我就不理解使用者通过这种方式使用setInterval 的意图为何.<br data-filtered="filtered" />fun() 是对函数的直接调用，也就是说当setInterval还没有开始函数func就执行了。如果这个函数没有返回值或者返回值不是可执行的函数或者其他的代码的话，就以上代码而言只是弹出1，之后就遍报错了.<br data-filtered="filtered" />难道这样的调用真的不可以吗？其实是可以的！例如代码：<br data-filtered="filtered" /></p>
<div id="antzone_brush_box">
<div class="brush_box">[JavaScript]</div>
<div>
<div id="highlighter_777389" class="syntaxhighlighter notranslate javascript">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="javascript spaces">      </code><code class="javascript keyword">function</code><code class="javascript plain">funone() {</code></div>
<div class="line number2 index1 alt1"><code class="javascript spaces">          </code><code class="javascript keyword">return</code><code class="javascript keyword">function</code><code class="javascript plain">() {</code></div>
<div class="line number3 index2 alt2"><code class="javascript spaces">            </code><code class="javascript plain">alert(</code><code class="javascript string">"qishiwoyenengzhixing"</code><code class="javascript plain">)</code></div>
<div class="line number4 index3 alt1"><code class="javascript spaces">          </code><code class="javascript plain">}</code></div>
<div class="line number5 index4 alt2"><code class="javascript spaces">      </code><code class="javascript plain">}</code></div>
<div class="line number6 index5 alt1"><code class="javascript plain">setInterval(funone(), 1000);</code><code class="javascript comments">//你敢说我不能执行？</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br data-filtered="filtered" />我个人认为这种设计或者调用完全没有任何意义，用其他的方法就行了。<br data-filtered="filtered" />--------------------------------------------------------------------------------------------------------------<br data-filtered="filtered" /></p>
<div id="antzone_brush_box">
<div class="brush_box">[JavaScript]</div>
<div>
<div id="highlighter_995309" class="syntaxhighlighter notranslate javascript">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="javascript plain">setInterval(fun,1000);</code><code class="javascript comments">//这种方法是正确的。</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br data-filtered="filtered" />大家可以把这种调用setInterval的第一个参数看作参数为 函数名或函数的引用。当然我们还可以这样调用，使用匿名函数。<br data-filtered="filtered" /></p>
<div id="antzone_brush_box">
<div class="brush_box">[JavaScript]</div>
<div>
<div id="highlighter_302866" class="syntaxhighlighter notranslate javascript">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="javascript plain">setInterval(</code><code class="javascript keyword">function</code><code class="javascript plain">() {</code></div>
<div class="line number2 index1 alt1"></div>
<div class="line number3 index2 alt2"><code class="javascript spaces">            </code><code class="javascript plain">alert(</code><code class="javascript string">"我一秒中执行一次"</code><code class="javascript plain">);</code></div>
<div class="line number4 index3 alt1"><code class="javascript spaces">        </code><code class="javascript plain">}, 1000)</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br data-filtered="filtered" />---------------------------------------------------------------------------------------------------------------<br data-filtered="filtered" /><br data-filtered="filtered" />有些人可能发现，在全局作用域下  setInterval("fun()",1000); 可以正常执行，但放到window.onload函数中却不能执行。为什么呢？<br data-filtered="filtered" />先请看代码：<br data-filtered="filtered" /></p>
<div id="antzone_brush_box">
<div class="brush_box">[JavaScript]</div>
<div>
<div id="highlighter_607291" class="syntaxhighlighter notranslate javascript">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
<div class="line number6 index5 alt1">6</div>
<div class="line number7 index6 alt2">7</div>
<div class="line number8 index7 alt1">8</div>
<div class="line number9 index8 alt2">9</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="javascript plain">window.onload = </code><code class="javascript keyword">function</code><code class="javascript plain">() {</code></div>
<div class="line number2 index1 alt1"><code class="javascript spaces">            </code><code class="javascript keyword">function</code><code class="javascript plain">fun() {</code></div>
<div class="line number3 index2 alt2"><code class="javascript spaces">                </code><code class="javascript plain">alert(1);</code></div>
<div class="line number4 index3 alt1"><code class="javascript spaces">            </code><code class="javascript plain">}</code></div>
<div class="line number5 index4 alt2"><code class="javascript spaces">             </code><code class="javascript plain">setInterval(</code><code class="javascript string">"fun()"</code><code class="javascript plain">,1000);</code><code class="javascript comments">//这个报错了 未定义   重点在这一个</code></div>
<div class="line number6 index5 alt1"><code class="javascript spaces">            </code><code class="javascript comments">// setInterval(fun(), 3000); //这个和刚才全局的表现一样</code></div>
<div class="line number7 index6 alt2"><code class="javascript spaces">           </code><code class="javascript comments">// setInterval(fun,1000);//这个没有问题</code></div>
<div class="line number8 index7 alt1"></div>
<div class="line number9 index8 alt2"><code class="javascript spaces">        </code><code class="javascript plain">}</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br data-filtered="filtered" />setInterval("fun()",1000); 这种调用报未定义，在全局我们已经说过了 。我们可以把带引号的参数理解为 可执行代码 。<br data-filtered="filtered" />而setInterval现在把以引号包括的可执行代码进行处理。就像eval一样给予执行。其在执行中 fun() 执行环境发生了变化，不是在window.onload方法下，而是在全局环境中也就是window.大家应该知道JavaScript存在作用域链，由内向外依次查找。内部可以访问其上层的函数和变量，而外部却不能访问内部的函数和变量。JavaScript有一个预编译处理，首先对函数和变量进行预编译。也就是说其函数和变量作用域是在其声明的时候确定的，而不是在执行的时候确定。当setInterval把"fun()"执行环境换为全局（详细见：拓展）的后，对fun的调用是无效的。因为全局不能访问局部的函数和变量。window.onload相对于window来说就是局部的。</p>
</div>
<div class="social-share"></div>
<div class="social-share">
<h2>setInterval函数参数</h2>
<ul>
<li>codes -- 代码段的字符串表示(与eval函数的参数相同)，或者是匿名函数、函数名</li>
<li>interval -- 间隔的毫秒数</li>
</ul>
<h2>setInterval函数返回值</h2>
<p>setInterval函数的ID标识，每次调用setInterval函数都会产生一个唯一的ID，可以通过clearInterval函数(此函数的参数接收一个setInterval返回的ID)暂停setInterval函数</p>
<h2>setInterval函数说明</h2>
<p>setInterval函数会重复间隔一段时间执行代码，因此应使用clearInterval函数将其停止，或者页面被卸载也会自动停止</p>
<h3>示例</h3>
<pre class="js"><code class="tag">var</code> <code class="attr">icolor</code><code class="tag">=</code><code class="attrvalue">0</code><code class="tag">;</code>
<code class="tag">var</code> <code class="attr">iNum</code><code class="tag">=</code><code class="attrvalue">256</code><code class="tag">;</code>
<code class="tag">var</code> <code class="attr">iID</code><code class="tag">=</code><code class="attr">setInterval</code><code class="tag">(</code><code class="attr">setbgColor</code><code class="tag">, </code><code class="attrvalue">500</code><code class="tag">)</code><code class="tag">;</code>
<code class="tag">function</code> <code class="attr">setbgColor</code><code class="tag">(</code><code class="tag">)</code>
<code class="tag">{</code>
<code class="tag">        </code><code class="class">document</code><code class="tag">.</code><code class="attr">bgColor</code><code class="tag">=</code><code class="attrvalue">"</code><code class="attrvalue">#</code><code class="attrvalue">"</code><code class="tag">+</code><code class="attr">icolor</code><code class="tag">*</code><code class="attr">iNum</code><code class="tag">*</code><code class="attr">iNum</code><code class="tag">*</code><code class="attr">iNum</code><code class="tag">+</code><code class="attr">icolor</code><code class="tag">*</code><code class="attr">iNum</code><code class="tag">*</code><code class="attr">iNum</code><code class="tag">+</code><code class="attr">icolor</code><code class="tag">*</code><code class="attr">iNum</code><code class="tag">;</code>
<code class="tag">        </code><code class="tag">if</code><code class="tag">(</code><code class="tag">(</code><code class="attr">icolor</code><code class="tag">+=</code><code class="attrvalue">10</code><code class="tag">)</code><code class="tag">&gt;</code><code class="attr">iNum</code><code class="tag">)</code>
<code class="tag">        </code><code class="tag">{</code>
<code class="tag">                </code><code class="attr">clearInterval</code><code class="tag">(</code><code class="attr">iID</code><code class="tag">)</code><code class="tag">;</code>
<code class="tag">        }</code>
<code class="tag">}
</code></pre>
<p>JavaScript的<code>setInterval()</code>函数用于设定<em>每隔指定的时间</em>就执行对应的函数或代码。</p>
<p>该函数属于全局对象<code>window</code>。</p>
<h3>语法</h3>
<p><code>setInterval()</code>函数的语法如下：</p>
<pre class="prettyprint">&lt;span class=&quot;pln&quot;&gt;setInterval &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; code&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; milliseconds&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;[,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; args&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;...]&lt;/span&gt; &lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;</pre>
<h3>参数</h3>
<table>
<tbody>
<tr class="firstRow">
<td>参数</td>
<td>描述</td>
</tr>
<tr>
<td>code</td>
<td>需要执行的函数或js代码</td>
</tr>
<tr>
<td>milliseconds</td>
<td>执行函数或代码的间隔时间，单位为毫秒</td>
</tr>
<tr>
<td>args</td>
<td><span class="notice">可选参数</span>用于给被调用的函数传递参数，参数可以有多个</td>
</tr>
</tbody>
</table>
<h3>返回值</h3>
<p><code>setInterval()</code>函数将返回一个标识符 ID，这个 ID 是唯一的(一般是整数，从 1 开始，每调用一次 setInterval() 就加 1)。</p>
<p>如果需要 setInterval() 执行的函数或代码尚未执行，我们可以通过 clearInterval() 函数来取消该执行操作，clearInterval() 需要接收一个参数，这个参数就是 setInterval() 返回的标识符ID。</p>
<h3>示例&amp;说明</h3>
<p>setInterval() 的参数<code>code</code>可以直接是一段js脚本。</p>
<pre class="prettyprint">&lt;span class=&quot;com&quot;&gt;// 每隔5秒钟就弹出提示信息&quot;欢迎来到CodePlayer&quot;。&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
setInterval&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&#039;alert(&quot;欢迎来到CodePlayer&quot;);&#039;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;lit&quot;&gt;5000&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;</pre>
<p>运行代码</p>
<p>参数<code>code</code>也可以是一个函数调用。</p>
<pre class="prettyprint">&lt;span class=&quot;kwd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; sayHi&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;msg&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
    alert&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;msg&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// 每隔5秒钟就弹出提示信息&quot;欢迎来到CodePlayer&quot;。&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
setInterval&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&#039;sayHi(&quot;欢迎来到CodePlayer&quot;);&#039;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;lit&quot;&gt;5000&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;</pre>
<p>如果参数<code>code</code>执行的是一个函数则可以直接使用函数名称或者匿名函数作为参数。如果函数需要参数，我们可以通过<code>setInterval()</code>的可选参数为其传递相应的参数。</p>
<pre class="prettyprint">&lt;span class=&quot;com&quot;&gt;//该函数不需要参数&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; test&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(){&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
    alert&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;测试&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// 每隔5秒钟就弹出提示信息&quot;测试&quot;。&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
setInterval&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;lit&quot;&gt;5000&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// 使用匿名函数作为参数，每隔5秒钟就输出控制台信息&quot;测试2&quot;。&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
setTimeout&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(){&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
    console &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;&amp;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; console&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;测试2&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;  
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;lit&quot;&gt;5000&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// 该函数需要两个参数&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; sayHello&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; age&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
    alert&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;我叫&quot;&lt;/span&gt; &lt;span class=&quot;pun&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; name &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&quot;，今年&quot;&lt;/span&gt; &lt;span class=&quot;pun&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; age &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&quot;岁!&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;//每隔5秒钟就弹出提示信息&quot;我叫CodePlayer，今年18岁!&quot;。&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
setInterval&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;sayHello&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;lit&quot;&gt;5000&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;str&quot;&gt;&quot;CodePlayer&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;lit&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;

</pre>
<p><strong>1,<span style="font-size: small;">HTML DOM setInterval() 方法</span></strong></p>
<h2><span style="font-size: small;">定义和用法</span></h2>
<p><strong>setInterval() 方法可按照指定的周期（以毫秒计）来调用函数或计算表达式。</strong></p>
<p><strong>setInterval() 方法会不停地调用函数，直到 clearInterval() 被调用或窗口被关闭。<span style="color: #ff0000;">由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。</span></strong></p>
<h3><span style="font-size: small;">语法</span></h3>
<pre><span style="font-family: Arial; font-size: medium;"><strong>setInterval(code,millisec[,"lang"])</strong></span></pre>
<table>
<tbody>
<tr>
<th><span style="font-size: small;">参数</span></th>
<th><span style="font-size: small;">描述</span></th>
</tr>
<tr>
<td>code</td>
<td>必需。要调用的函数或要执行的代码串。</td>
</tr>
<tr>
<td>millisec</td>
<td>必须。周期性执行或调用 code 之间的时间间隔，以毫秒计。</td>
</tr>
</tbody>
</table>
<h3><span style="font-size: small;">返回值</span></h3>
<p><strong><span style="color: #ff0000;">一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。</span></strong></p>
<p><strong><span style="color: #000000;">---------------------------------------------------</span></strong></p>
<p><strong>2,</strong><strong>HTML DOM clearInterval()</strong> <strong>方法</strong></p>
<h2><span style="font-size: small;">定义和用法</span></h2>
<p>clearInterval() 方法可取消由 setInterval() 设置的 timeout。</p>
<p>clearInterval() 方法的参数<span style="color: #ff0000;">必须是由 setInterval() 返回的 ID 值。</span></p>
<h3><span style="font-size: small;">语法</span></h3>
<pre><span style="font-size: medium;">clearInterval(id_of_setinterval)</span></pre>
<table>
<tbody>
<tr>
<th><span style="font-size: small;">参数</span></th>
<th><span style="font-size: small;">描述</span></th>
</tr>
<tr>
<td>id_of_setinterval</td>
<td>由 setInterval() 返回的 <span style="color: #ff0000;"><strong>ID 值</strong></span>。</td>
</tr>
</tbody>
</table>
<p><span style="color: #ff0000;">如何停止：</span></p>
<p>下面这个例子将每隔 50 毫秒调用 clock() 函数。您也可以使用一个按钮来停止这个 clock：</p>
<p>&lt;html&gt;<br />
&lt;body&gt;</p>
<p>&lt;input type="text" id="clock" size="35" /&gt;<br />
&lt;script language=javascript&gt;<br />
var <span style="color: #0000ff;">int</span>=<span style="color: #ff0000;">self.setInterval("clock()",50)</span><br />
function clock()<br />
{<br />
var t=new Date()<br />
document.getElementById("clock").value=t<br />
}<br />
&lt;/script&gt;<br />
&lt;/form&gt;<br />
&lt;button <span style="color: #ff0000;">onclick="int=window.clearInterval(<span style="color: #0000ff;">int</span>)"</span>&gt;<br />
Stop interval&lt;/button&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p><span style="text-decoration: underline;">--------------------------------------------------------------------------------------------------------</span></p>
<p>再来了解 setTimeout :</p>
<p>1,HTML DOM setTimeout() 方法</p>
<div>
<h2><span style="font-size: small;">定义和用法</span></h2>
<p>setTimeout() 方法用于在指定的毫秒数<span style="color: #ff0000;">后</span>调用函数或计算表达式。</p>
<h3><span style="font-size: small;">语法</span></h3>
<pre>setTimeout(code,millisec)</pre>
<table>
<tbody>
<tr>
<th><span style="font-size: small;">参数</span></th>
<th><span style="font-size: small;">描述</span></th>
</tr>
<tr>
<td>code</td>
<td>必需。要调用的函数后要执行的 JavaScript 代码串。</td>
</tr>
<tr>
<td>millisec</td>
<td>必需。<span style="color: #ff0000;">在执行代码前需等待的毫秒数。</span></td>
</tr>
</tbody>
</table>
</div>
<div>
<h2><span style="font-size: small;">提示和注释</span></h2>
<p>提示：<span style="color: #ff0000;">setTimeout() 只执行 code 一次。如果要多次调用，请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。</span></p>
</div>
<div>
<h2><span style="font-size: small;">实例,这个例子，在你点击按钮 5 秒钟后会弹出一个提示框：</span></h2>
<pre><strong>&lt;html&gt;
&lt;head&gt;
&lt;script type="text/javascript"&gt;
function timedMsg()
{
var t=setTimeout("alert('5 seconds!')",5000)
}
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;form&gt;
&lt;input type="button" value="Display timed alertbox!"
onClick="timedMsg()"&gt;
&lt;/form&gt;
&lt;p&gt;Click on the button above. An alert box will be
displayed after 5 seconds.&lt;/p&gt;
&lt;/body&gt;

&lt;/html&gt;</strong></pre>
<pre><strong>-----------------------------</strong></pre>
<pre><strong>2,HTML DOM clearTimeout() 方法</strong></pre>
<div>
<h2><span style="font-size: small;">定义和用法</span></h2>
<p>clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout。</p>
<h3><span style="font-size: small;">语法</span></h3>
<pre>clearTimeout(id_of_settimeout)</pre>
<pre></pre>
<table>
<tbody>
<tr>
<th><span style="font-size: small;">参数</span></th>
<th><span style="font-size: small;">描述</span></th>
</tr>
<tr>
<td>id_of_setinterval</td>
<td>由 setTimeout() 返回的 <span style="color: #ff0000;">ID 值</span>。该值标识要取消的延迟执行代码块。</td>
</tr>
</tbody>
</table>
</div>
<div>
<h2><span style="font-size: small;">实例</span></h2>
<p><span style="font-size: small;">下面的例子每秒调用一次 timedCount() 函数。您也可以使用一个按钮来终止这个定时消息：</span></p>
<pre>&lt;html&gt;
&lt;head&gt;
&lt;script type="text/javascript"&gt;
var c=0
var <span style="color: #ff0000;">t</span>
function timedCount()
  {
  document.getElementById('txt').value=c
  c=c+1
  <span style="color: #ff0000;">t</span>=setTimeout("<span style="color: #ff0000;">timedCount()</span>",1000)
  }
function stopCount()
  {
  <code>clearTimeout(<span style="color: #ff0000;">t</span>)</code>
  }
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;form&gt;
&lt;input type="button" value="Start count!" onClick="timedCount()"&gt;
&lt;input type="text" id="txt"&gt;
&lt;input type="button" value="Stop count!" onClick="stopCount()"&gt;
&lt;/form&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
</div>
</div>
<pre class="prettyprint"></pre>
<pre class="js"></pre>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.583idc.com/news/?feed=rss2&#038;p=1666</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
