JavaScript 中的undefined and null learn record from the definitive guide to html5

JavaScript 中有两个特殊值:undefined and null,

在读取未赋值的变量或试图读取对象没有的属性时得到的就是undefined值。

<!DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var myData = {
name: "admin",
weather: "sunny"
};
document.writeln("prop:" + myData.doesntexist);
</script>
</body>
</html>

输出:

prop: undefined

null 表示已经赋值给了一个值,但是该值不是一个有效的object,string,number,boolean 值(也就是说所定义的是一个无值[no value]).

例子:

<!DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var myData = {
name: "admin"
};
document.writeln("var:" + myData.weather);
document.writeln("prop:" + ("weather" in myData)); document.writeln("</br>");
myData.weather = "sunny";
document.writeln("var:" + myData.weather);
document.writeln("prop:" + ("weather" in myData)); document.writeln("</br>");
myData.weather = null;
document.writeln("var:" + myData.weather);
document.writeln("prop:" + ("weather" in myData)); </script>
</body>
</html>

输出:

var:undefined prop:false
var:sunny prop:true
var:null prop:true

undefined and null的相等和等同比较

例子:

<!DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var firstVal = null;
var secondVal ; var equality = firstVal == secondVal;
var identity = firstVal === secondVal; document.writeln("equality:" + equality);
document.writeln("</br>");
document.writeln("identity:" + identity); </script>
</body>
</html>

输出:

equality:true
identity:false

最新文章

  1. WindowsForm菜单工具栏--2016年12月6日
  2. objective-c(框架)
  3. EditorWindow简单双击效果
  4. 改变edittext边框颜色
  5. Flesch Reading Ease (poj 3371)
  6. 安全漏洞API接口
  7. jQuery中$.ajax()和$.getJson()同步处理详解
  8. FreeCodeCamp 的 Basic Algorithm Scripting 题解(1)
  9. 工作的准备:atoi,itoa,strcpy,memcpy,strcmp,二分查找,strcat
  10. PHP 超强过滤函数
  11. Buffer Cache(缓冲区缓存)篇:keep缓冲区池(保留池)
  12. Xamarin.Android开发实践(一)
  13. lua元方法
  14. formData的实现
  15. Android的log日志知识点剖析
  16. Java Socket、计算机网络
  17. js动态控制表单表格
  18. attribute与parameter区别(转)
  19. docker部署路飞学城
  20. jquery实现相同事件名称,不同命名空间的调用方法

热门文章

  1. 用SpriteBuilder简化&quot;耕牛遍地走&quot;的动画效果(四)
  2. casio计算器计算统计数据
  3. 【leetcode】经典算法题-Counting Bits
  4. 11_Android中HttpClient的应用,读取网络xml及xml解析流,Handler的应用,LayoutInflater的使用,SmartImageView的使用
  5. OpenCV 使用光流法检测物体运动
  6. #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲
  7. node.js 的url模块
  8. 集群RPC通信
  9. LeetCode之“数学”:Plus One
  10. XMPP客户端库Smack