javascript权威指南学习笔记之null和undefined
2023-06-13 09:14:30 时间
<!doctypehtml>
<html>
<head>
<metahttp-equiv="content-type"content="text/html;charset=UTF-8">
<title>javascript之null和undefined</title>
</head>
<body>
<scripttype="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=newObject();
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值不同,但是==运算符却将两者看作相等。
varobj=newObjec();
obj.prop==null//返回true
如果要严格区分undefiend和null,则需要用到====运算符或者typeof
varobj=newObjec();
obj.prop===null//返回false
typeofobj.prop//输出undefined
typeofnull//输出object
*/
</script>
</body>
</html>
相关文章
- javascript 高级教程 视频_精通JavaScript
- html5 scrollheight,JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记…[通俗易懂]
- JavaScript笔记(14)
- JavaScript笔记(18)之BOM
- JavaScript笔记(20)
- JavaScript 函数
- Javascript学习笔记4Eval函数
- JavaScript学习笔记(九)call和apply方法
- JavaScript学习笔记(十四)正则表达式
- JavaScript学习笔记(十五)
- Javascript笔记一js以及json基础使用说明
- JavaScript学习笔记之获取当前目录的实现代码
- javascript学习笔记(五)正则表达式
- JavaScript高级程序设计事件学习笔记
- javascript笔记String类replace函数的一些事
- javascript学习笔记(十六)系统对话框(alert、confirm、prompt)
- JavaScript高级程序设计阅读笔记(二十一)JavaScript中的XML
- JavaScript高级程序设计(第3版)学习笔记4js运算符和操作符
- JavaScript高级程序设计(第3版)学习笔记11内建js对象
- 基于javascript滚动图片具体实现
- javascript学习笔记之10个原生技巧
- javascript学习笔记--数字格式类型
- JavaScript基础知识学习笔记
- Javascript学习笔记之对象篇(三):hasOwnProperty
- JavaScript学习笔记之JS对象
- JavaScript学习笔记之Cookie对象