javascript权威指南 学习笔记之null和undefined


Posted in Javascript onSeptember 25, 2011
<!doctype html> 
<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
<title>javascript之null和undefined</title> 
</head> 
<body> 
<script type="text/javascript"> 
/** 
 ******************null关键字******************** 
JavaScript中的关键字null是一个特殊的值,它表示“无值”。null常常被看作对象类型的一个特殊值,即代表“无对象”的值。 
null是一个独一无二的值,有别于其他所有的值。如果一个变量的值为null,那么就说明它的值不是有效的对象、数组、数字、字符串 
和布尔值 中的 任何一种。 
当null用于布尔环境时,它被自动转换为false.当它用于一个数字环境时,它被自动转换为数字0.当它用于一个字符串环境时,它 
被自动转换为"null". 
*/ 
var $null = null; 
//用于布尔环境 
if($null){ 
document.write("当null用于布尔环境时,不转换"); 
}else{ 
document.write("当null用于布尔环境时,它被自动转换为false");//此句将被输出 
} 
//用于数字环境 
if(0 + $null == 0){ 
document.write("<br/>当null用于数字环境时,它被自动转换为0");//此句将被输出 
}else{ 
 document.write("<br/>当null用于数字环境时,不转换");  
} 
//用于字符串环境 
document.write("<br/>用于字符串环境:"+$null);//null 
//null的typeof:object 
document.write("<br/>$null的数据类型为:"+typeof $null);//object 
/** 
*****************undefined****************** 
undefined是一个特殊的值,它不是javascript中的关键字。以下几种情况需要注意: 
1.使用了已经声明但还没有赋值的变量时 
2.使用了一个并不存在的对象属性时 
以上二种情况,返回的都是undefined这个值。undefined值不同于null. 
当未定义的值用于布尔环境时,它会自动转换为false; 
当它用于一个数字环境时,它会自动转换为NaN;(NaN的解释:NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。 
当它用于一个字符串环境时,它会自动转换为"undefined"; 
*/ 
var $aaa;//声明了,但没有初始化。 
var $bbb = "测试";//声明了,并且初始化了。 
var $obj = new Object(); 
document.write("<br/>$aaa的类型:"+typeof $aaa+"、$aaa的值:"+$aaa);//undefined、undefined 
document.write("<br/>$bbb的类型:"+typeof $bbb+"、$bbb的值:"+$bbb);//string、测试 
document.write("<br/>$obj的一个不存在的属性myProp的类型:"+typeof $obj.myProp+"、$obj.myProp的值:"+$obj.myProp);//undefined、undefined 
//document.write("<br/>输出一个并未声明的变量的值:"+$abc);//运行错误 
/** 
undefined 与 null的联系 
虽然undefined和null值不同,但是==运算符却将两者看作相等。 
var obj = new Objec(); 
obj.prop == null //返回true 
如果要严格区分undefiend和null,则需要用到====运算符或者typeof 
var obj = new Objec(); 
obj.prop === null //返回false 
typeof obj.prop //输出undefined 
typeof null //输出object 
*/ 
</script> 
</body> 
</html>
Javascript 相关文章推荐
学习并汇集javascript匿名函数
Nov 25 Javascript
JS实现图片横向滚动效果示例代码
Sep 04 Javascript
js实现图片从左往右渐变切换效果的方法
Feb 06 Javascript
axios学习教程全攻略
Mar 26 Javascript
js仿微信公众平台打标签功能
Apr 08 Javascript
深入理解Vue 的条件渲染和列表渲染
Sep 01 Javascript
webpack 模块热替换原理
Apr 09 Javascript
微信小程序收藏功能的实现代码
Jun 12 Javascript
Node.js 使用request模块下载文件的实例
Sep 05 Javascript
微信小程序实现带缩略图轮播效果
Nov 04 Javascript
实现elementUI表单的全局验证的方法步骤
Apr 29 Javascript
webpack HappyPack实战详解
Oct 08 Javascript
利用JS自动打开页面上链接的实现代码
Sep 25 #Javascript
javascript权威指南 学习笔记之javascript数据类型
Sep 24 #Javascript
最简单的js图片切换效果实现代码
Sep 24 #Javascript
zShowBox 图片放大展示jquery版 兼容性
Sep 24 #Javascript
也说JavaScript中String类的replace函数
Sep 22 #Javascript
javascript笔记 String类replace函数的一些事
Sep 22 #Javascript
Prototype的Class.create函数解析
Sep 22 #Javascript
You might like
用PHP 4.2书写安全的脚本
2006/10/09 PHP
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
实用函数5
2007/11/08 PHP
php编写一个简单的路由类
2011/04/13 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
js实现超级玛丽小游戏
2020/03/18 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
演讲稿怎么写才完美
2014/01/02 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
物流管理系毕业生求职信
2014/06/03 职场文书
分公司经理任命书
2014/06/05 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
Python中super().__init__()测试以及理解
2021/12/06 Python