繁体中文
设为首页
加入收藏
脚本专栏
网络编程
电子书
软件下载
实用技巧
软件编程
网页制作
操作系统
经典网摘
网站技巧
在线手册
在线工具
文章搜索
主机租用
域名查询
基础知识
应用技巧
表单特效
广告代码
网页特效
黑客性质
页面导航:
首页
→
网络编程
→
JavaScript
→
应用技巧
→ 正文内容
JScript中的undefined和"undefined"的区别
发布:dxy 字体:[
增加
减小
] 类型:转载
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的字符串容易拼写错误,对用习惯了的强类型语言的角度来看也显得不专业。
Tags:
JScript中的undefined和"undefined"的区别
浏览次数:
载入中...
打印本文
关闭本文
返回首页
0
顶一下
上一篇文章:
JavaScript语句可以不以;结尾的烦恼
下一篇文章:
Javascript调试脚本的经验之谈
·在百度中搜索关于“
JScript中的undefined和"undefined"的区别
相关内容
文章评论
共有
位脚本之家网友发表了评论
我来说两句
同 类 文 章
javascript引用对象的方法代码
验证用户是否修改过页面的数据的实现方法
子父窗口之间的操作
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新
5 cool javascript apps
javascript的函数
智能表格
解决AJAX中跨域访问出现''没有权限''的错
javascript网页关键字高亮代码
Display SQL Server Version Information
最 近 更 新
js中设计一段程序,让它能够打印自己的方
javascript的indexOf忽略大小写的方法
HTML中不支持静态Expando的元素的问题
菜单效果
收藏一个代码
通过JAVAScript实现页面自适应
IE/FireFox具备兼容性的拖动代码
在Javascript中定义对象类别
用JavaScript脚本实现Web页面信息交互
javascript实现划词标记+划词搜索功能
热 点 排 行
Div+CSS+JS树型菜单,可刷新
在线游戏大家来找茬II
eval(function(p,a,c,k,e,d)系列
javascript小技巧 超强推荐
动态加载js文件 document.create
JavaScript实现Sleep函数的代码
彻底搞懂JS无缝滚动代码
Unicode 编码转换器
支持IE和FF的div+css选项卡
由浅到深了解JavaScript类
文章评论
共有 位脚本之家网友发表了评论我来说两句