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 相关文章推荐
Prototype使用指南之ajax
Jan 10 Javascript
原生js 秒表实现代码
Jul 24 Javascript
详解基于Bootstrap扁平化的后台框架Ace
Nov 27 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
js实现随机数字字母验证码
Jun 19 Javascript
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
Vue.js实现图片的随意拖动方法
Mar 08 Javascript
学习JS中的DOM节点以及操作
Apr 30 Javascript
解决vue 打包发布去#和页面空白的问题
Sep 04 Javascript
Vue.js更改调试地址端口号的实例
Sep 19 Javascript
不刷新网页就能链接新的js文件方法总结
Mar 01 Javascript
webpack+express实现文件精确缓存的示例代码
Jun 11 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中使用模板的方法
2008/05/24 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
Yii2使用表单上传文件的实例代码
2017/08/03 PHP
php实现等比例压缩图片
2018/07/26 PHP
PHP session垃圾回收机制实例分析
2019/06/28 PHP
php中错误处理操作实例分析
2019/08/23 PHP
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
window.location.hash 使用说明
2010/11/08 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
python如何让类支持比较运算
2018/03/20 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
法国二手手袋、手表和奢侈珠宝购物网站:Collector Square
2018/07/05 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
大学军训感想
2014/02/12 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
长城导游词
2015/01/30 职场文书
优秀大学生自荐信
2015/03/26 职场文书
养成教育工作总结
2015/08/13 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python