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(来自ibm)
Nov 10 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
AngularJS中使用HTML5手机摄像头拍照
Feb 22 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
jQuery控制div实现随滚动条滚动效果
Jun 07 Javascript
AngularJS Bootstrap详细介绍及实例代码
Jul 28 Javascript
Javascript 调用 ActionScript 的简单方法
Sep 22 Javascript
值得学习的bootstrap fileinput文件上传工具
Nov 08 Javascript
微信小程序多张图片上传功能
Jun 07 Javascript
使用 Node.js 开发资讯爬虫流程
Jan 07 Javascript
Vue中的组件及路由使用实例代码详解
May 22 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
Sep 21 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下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
老生常谈js数据类型
2017/08/03 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
JS实现li标签的删除
2019/04/12 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
Python中装饰器的一个妙用
2015/02/08 Python
Python中super关键字用法实例分析
2015/05/28 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
Python异常处理例题整理
2019/07/07 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
python 实现return返回多个值
2019/11/19 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
比利时香水网上商店:NOTINO
2018/03/28 全球购物
2015年十月一日放假通知
2015/08/18 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
python保存图片的四个常用方法
2022/02/28 Python