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

代码如下:

<!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>

(0)

相关推荐

  • javascript权威指南 学习笔记之变量作用域分享

    不知道,大家对语言中变量的"声明"与"定义"是怎么理解的, 我的理解如下: "声明"变量,只是仅仅声明,而"定义"变量,指声明了,并且赋值了. 例如: 复制代码 代码如下: var name;//只是声明 var num = 11;//声明,并且赋值,即定义了 var password = "yangjiang";//声明,并且赋值,即定义了 下面是几点总结: 变量的作用域:全局的和局部的.(注意:如果尝试

  • javascript权威指南 学习笔记之javascript数据类型

    复制代码 代码如下: <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>javascript数据类型</title> </head> <body> <script type="text/javasc

  • JavaScript 权威指南(第四版) 读书笔记

    Javascript是无类型.解释型语言 对大小写敏感 html对大小写不敏感 忽略空格符.制表符.换行符(关键字.变量.正则表达式 除外) ";"分号可选择 //单行注释 /*多行注释*/ 标示符 开头必须是字母.下划线.$符号 关键字: break delete function return typeof case do if switch var catch else in this void continue false instanceof throw while debu

  • 详解JavaScript权威指南之对象

    JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自有的属性外,还可以从一个称为原型的对象继承属性.对象的方法通常是继承的属性.这种"原型式集成"是JavaScript的的核心特征. 1.创建对象 第一种:对象直接量表示法创建对象. 这是最简单的对象创建方式,对象直接量由若干key:value键值对属性组成,属性之间用逗号分隔,整个对象用花

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

    复制代码 代码如下: <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>javascript之null和undefined</title> </head> <body> <script type="

  • 《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析

    本文实例讲述了Javascript面向对象程序设计对象成员的定义.分享给大家供大家参考,具体如下: 序: 刚接触javascript的时候,觉得这语言有点儿摸不着门道,感觉这玩意儿太难学了,没什么规范,没什么像样的手册,而且还跟html,dom,css打交道,更觉得一团糟,代码可读性也很差,面向过程的勉强能看懂,看面向对象的代码简直就是杯具,各种括号啊,后来了解ajax,了解了jquery,知道了很多网页特效都是用javascript写的,才慢慢有了好感,来了bd以后写javascript和ph

  • 整理Javascript基础入门学习笔记

    了解什么是变量? 变量是用于存储信息的容器 变量的声明 语法: var  变量名 变量名 = 值; 变量要先声明再赋值 变量可以重复赋值 变量的命名规则 变量必须以字母开头: 变量也能以$和_符号开头(不过我们不推荐这么做): 变量名称对大小写敏感(a和A是不同的变量). 1.语句 语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾. 有个好的编码习惯,都要以 ; 结尾 2.数据类型 在JavaScript中,一段信息就是一个值(value).值有不同的类型,大家最熟悉的类型是数字.字符

  • 整理Javascript流程控制语句学习笔记

    1.做判断(if语句) if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件){ 条件成立时执行代码 } 例子:假设你应聘web前端技术开发岗位,如果你会HTML技术,你面试成功,欢迎加入公司. <script type="text/javascript"> var mycarrer = "HTML"; if (mycarrer == "HTML"){ document.write("你面试成功,欢迎加入公

  • 整理Javascript事件响应学习笔记

    什么是事件 JavaScript 创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件.  1.鼠标单击事件(onclick) onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件.同时onclick事件调用的程序块就会被执行,通常与按钮一起使用. 例:我们单击按钮时,触发 onclick 事件,并调用两个数和的函数add2(). <html> <head> <scrip

  • JavaScript高级程序设计 学习笔记 js高级技巧

    第十八章 高级技巧 1.高级函数 1.1 作用域安全的构造函数 ①直接调用构造函数而不适用new操作符时,由于this对象的晚绑定,它将映射在全局对象window上,导致对象属性错误增加到window. 复制代码 代码如下: function Person(name,age,job){ this.name = name; this.age = age; this.job = job; } Var person = Person("Jay",29,"singer");

随机推荐