HTML5先行者高级交流群
欢迎加入学习讨论
专注前端,专注网页设计制作及网站开发项目 - (低价承接网站开发项目) QQ:370158739
加入收藏
RSS
首页
JS下载
CSS3手册
Json在线解析
html5教程
网站及特效实例
视频教程
html5资讯
网络编程
html5书籍
HTML5演示
论坛
入门教程
高级应用
滚动新闻
html5实验
javascript特效
Photoshop教程及网页素材
jquery特效
html5视频教程
CSS3视频教程
JS视频教程
JUQERY视频教程
Bootstrap视频教程
html5video
微信服务号开发教程
最新资讯
最新动态
IT动态
ASP编程
PHP编程
正则表达式
AJAX相关
ASP.NET
JSP编程
Flex
脚本加解密
网页编辑器
相关技巧
黑客相关
网页播放器
其它综合
java教程
您的位置
:
首页
>
网站及特效实例
>
javascript特效
» 正文
JScript中的undefined和"undefined"的区别_javascript技巧_
2014-04-01 16:14:20
[
小
大
]
已经帮助:
人解决问题
JScript中用于表示未定义的
undefined
标识符到底是表示什么未定义?它和
"undefined"
(包括"在内)又有什么区别和联系呢?为什么有的时候可以使用
undefined
来和变量做比较,而有的时候又不行呢?
underfined
和
"undefined"
的区别大家一眼就能看出来。在一般的认知下,我们认为
undefined
是JScript提供的一个"关键字",而
"undefined"
却毫无悬念的就是一个字符串,只是引号内的内容长得和
undefined
一个样。
undefined
和
"undefined"
的区别虽然是十分明显的,但它们的联系也是紧密的。
仔细阅读JScript手册,其实这个underfined是一个"已定义"的Global值,而不是它的字面意义所表达的未定义。我们看下面这个代码示例,很有趣:
<
script
language
="javascript"
>
alert(undefined);
alert(variable);
</
script
>
执行的结果是:
我们稍微修改一下上面的代码,添加一个typeof调用来看看:
<
script
language
="javascript"
>
alert(
typeof
undefined);
alert(
typeof
variable);
</
script
>
这下结果应该是什么呢?显示
"object"
和
"undefined"
吗?当然不是了,两个alert调用都将显示
"undefined"
。
所以
undefined
是脚本引擎定义的一个常量,它在脚本引擎初始化完毕后存在。它的实际作用是用
来表示一个已定义的变量的未初始化状态(uninitialized)
,比如var i;,这时这个i的值就是
undefined
,而i是实实在在define了的,只是未初始化。这时我们就可以写这样的表达式来对i做判断,比如if ( i ==
undefined
)。如果从未在代码中出现过的变量被使用,这时的未定义的概念就是不
undefined
所描述的未初始化了,而是说明该变量完全未被登记到脚本引擎的上下文中。使用类似if ( abc ==
undefined
)的语句,将得到类似上图中的第二个错误提示。
在实际使用中,如果使用typeof来判断变量是否未定义,是可以完全兼容
未定义(undefined)
和
未初始化(uninitialized)
两种情况的,只是很多时我不喜欢使用 if ( typeof xxx ==
'undefined'
) 这样的写法,因为literal的字符串容易拼写错误,对用习惯了的强类型语言的角度来看也显得不专业。
来顶一下
返回首页
(责任编辑:)
推荐书籍
推荐资讯
html5及css3做的3D小
html5视频应用
友情链接:
联系人:QQ370158739
关于HTML5先行者
-
联系我们
-
广告服务
-
友情链接
-
网站地图
-
版权声明
-
人才招聘
-
帮助