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 相关文章推荐
Ext面向对象开发实践(续)
Nov 18 Javascript
谷歌地图打不开的解决办法
Aug 07 Javascript
深入理解Javascript中this的作用域
Aug 12 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
jQuery语法小结(超实用)
Dec 31 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
Mar 16 Javascript
node.js 中间件express-session使用详解
May 20 Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 Javascript
JavaScript函数Call、Apply原理实例解析
Feb 17 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 jQuery
vue3.0中友好使用antdv示例详解
Jan 05 Vue.js
利用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
VOLVO车载收音机
2021/03/02 无线电
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
PHP的Yii框架入门使用教程
2016/02/15 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
cakephp常见知识点汇总
2017/02/24 PHP
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
对javascript继承的理解
2016/10/11 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
vue + typescript + video.js实现 流媒体播放 视频监控功能
2019/07/07 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
python基于SMTP协议发送邮件
2019/05/31 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
党员先锋岗事迹材料
2014/05/08 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
日语专业求职信
2014/07/04 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python