| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1502 人关注过本帖
标题:这个javascript脚本是怎么样实现循环的?
只看楼主 加入收藏
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
<script type="text/javascript">
var cc=0;
function TestFunction1()
{
   alert(cc);
}
function TestFunction2()
{
   var cc=1;
   alert(cc);
}
TestFunction1();
TestFunction2();
</script>
楼主运行上面的代码考虑cc的变量输出为什么不同
2008-08-18 21:25
yangzeng
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2008-4-23
收藏
得分:0 
TestFunction1();利用了全局变量的初值,是零,所以弹出提示框内容为0
TestFunction2()这个过程是里面又把cc定义了一个新值局部变量值,所以输出是1
2008-08-18 22:11
yangzeng
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2008-4-23
收藏
得分:0 
跟那个代码有什么联系吗?关键是,不理解的是:那个if判断语句为什么一点击后,cc=1,就等于1了,等于1后就执行它后面的语句了!问题是为什么等于1,他的全局变量的值是0
2008-08-18 22:15
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
[bo][un]yangzeng[/un] 在 2008-8-18 22:15 的发言:[/bo]

跟那个代码有什么联系吗?关键是,不理解的是:那个if判断语句为什么一点击后,cc=1,就等于1了,等于1后就执行它后面的语句了!问题是为什么等于1,他的全局变量的值是0

cc=0的确是初始化了
但是要注意的是初始化。
楼主并没有完全理解javascript的执行原理和过程
cc=0只是在开始的时候初始化了
当点击按钮后调用的只是那个函数,这时cc=0的这段代码并不属于这个函数,计算机会严格的只执行这个函数内的代码,再点击按钮同样如此。而且我想每本javascript的教材里都会明确的说明按钮点击后会执行按钮点击时所关联的函数。
并没有说会执行整个脚本,如果楼主看的教材里说过执行整个脚本,那我只想说楼主肯定买到了劣质教材。
2008-08-18 23:06
anlige
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:401
专家分:0
注 册:2006-11-3
收藏
得分:0 
cc是一个全局变量~这个变量代表灯的当前状态,通过cc与0和1比较来确认当前状态,从而改变状态为相反状态..................

http://www.
zhanghuiguoanlige@
2008-08-19 01:13
yangzeng
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2008-4-23
收藏
得分:0 
那就先谢谢了!还有点模糊!
2008-08-19 08:43
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
客户端与服务器端的执行原理是不同的,在ASP里服务器端的页面级全局变量是每次都会被初始化的,原因在于服务器端不会保留页面级的数据,当一个页面执行完毕就会清空所有数据。
而客户端不同在于客户端运行在浏览器上,浏览器在加载程序脚本后会一直执行,而且只加载一次浏览器脚本(除非刷新网页会从新加载脚本)。因此浏览器只有在当前页面被刷新和关闭时初始化或清空页面数据,所以在浏览器端的全局变量只在网页打开加载时初始化一次,而网页没有被关闭前这个变量一直有效,但不会再次被初始化(除非程序员人为的去初始化)。
因此楼主的同样一段程序运行在浏览器上这么写就是正确的,但放到服务器端cc无论怎么点击都是0,就是我说的那个原理。
2008-08-19 10:27
yangzeng
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2008-4-23
收藏
得分:0 
谢谢版主!非常感谢,我明白了,这样的原理还真不少!请问版主是从哪里学到这方面的原理的,肯定有许多编网站是,存在很多这方面的原理,对于那些从事潜意识的编程人(也就是普通的编程人),我估计都不了解各个方面的原理!囊告诉我哪里能学到吗
2008-08-19 11:10
yangzeng
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2008-4-23
收藏
得分:0 
看来,开关这个代码东西,引出来的知识可真不少
2008-08-19 11:10
快速回复:这个javascript脚本是怎么样实现循环的?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011894 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved