代码驿站移动版
频道导航
HTML/Xhtml
CSS
JavaScript
HTML5
PHP教程
ASP.NET
正则表达式
AJAX
ThinkPHP
Yii
MySQL
MariaDB
Oracle
MongoDB
Redis
DedeCMS
PHPCMS
帝国CMS
WordPress
Discuz
其它CMS
Zend Studio
Sublime
Notepad
Dreamweaver
Windows
Linux
Nginx
Apache
IIS
CentOS
Ubuntu
Debian
网站优化
工具资源
PHP源码
ASP.NET源码
其它源码
图标素材
按钮素材
字体素材
DedeCMS模板
帝国CMS模板
PHPCMS模板
WordPress模板
Discuz!模板
单页模板
开发软件下载
服务器软件下载
广告投放
联系我们
版权申明
软件编程
网页前端
移动开发
数据库
服务器
脚本语言
PHP代码
JAVA代码
Python代码
Android代码
当前位置:
主页
>
网页前端
>
JavaScript代码
>
JScript中的undefined和"undefined"的区别
时间:2022-12-26 10:52:14 | 栏目:
JavaScript代码
| 点击:次
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的字符串容易拼写错误,对用习惯了的强类型语言的角度来看也显得不专业。
您可能感兴趣的文章:
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
javascript上下左右定时滚动插件
JavaScript常见事件处理程序实例总结
url传递的参数值中包含&时,url自动截断问题的解决方法
Javascript的匿名函数小结
相关文章
10-05
javascript判断图片是否加载完成的方法推荐
11-23
Webpack中loader打包各种文件的方法实例
11-08
兼容浏览器的js事件绑定函数(详解)
11-27
Javascript实例教程(19) 使用HoTMetal(2)
11-22
在javascript中执行任意html代码的方法示例解读
JQuery
VUE
AngularJS
MSSql
MySQL
MongoDB
Redis
Linux
Tomcat
Nginx
网站首页
广告投放
联系我们
版权申明
联系站长