JScript 有三个范围:全局、局部和类。 如果在函数或类定义之外声明变量或常数,则是全局变量,它的值可在整个程序中访问和修改。 如果在函数定义内声明一个变量,则该变量为局部变量。 每当执行函数时,都会创建和销毁该变量;在函数之外无法访问该变量。 如果在类定义内声明一个变量,则该变量仅在类内部可用,不能从全局范围访问。 有关更多信息,请参见基于类的对象。
像 C++ 这样的语言也有“块范围”;任何一组大括号 ({}) 都会定义一个新的范围。 JScript 不支持块范围。
局部变量可以与全局变量具有相同的名称,但它们是完全不同且相互分离的。 因此,更改一种变量的值对另一种变量不会产生影响。 在声明局部变量的函数中,只有局部版本才具有意义。 这就称为可见性。
此程序的输出显示:不更改全局变量的值就可以修改局部变量。 在函数内部对全局变量的更改会影响全局范围内的值。
由于 JScript 会在执行任何代码之前处理变量和常数声明,因此是在条件块中声明还是在某一其他构造中声明并不重要。 JScript 一旦找到所有变量和常数,就会执行函数中的代码。 这就意味着在到达常数声明语句前局部常数值是未定义的,在函数中分配变量前局部变量是未定义的。
有时,这样会导致意外的行为。 请看下面的程序。
该程序的输出为:
您可能想要 aNumber 为 100 或 123,anotherNumber 为 200 或 42,但这两个值都是 undefined。 由于 aNumber 和 anotherNumber 都是用局部范围定义的,它们隐藏了具有相同名称的全局变量和常数。 由于始终不运行初始化局部变量和常数的代码,因此它们的值为 undefined。
在快速模式下要求使用显式变量声明。 当关闭快速模式时,要求使用隐式变量声明。 函数内隐式声明的变量(即出现在赋值表达式的左边不带 var 关键字的变量)是全局变量。
概念
未定义的值
其他资源
JScript 变量和常量
到此这篇条件变量的使用(条件变量的使用条件是指)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/23196.html