《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型


Posted in Javascript onFebruary 27, 2012

2.6 原始类型

ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof来判断值的类型。
1、typeof运算符:

var sTemp="test string"; 
alert(typeof sTemp);//outpus "string" 
alert(typeof 95);//outpus "number"

typeof运算符返回值只有5种,分别为:如果变量是Undefined型返回"undefined",如果变量是Boolean型返回"boolean",如果变量是Number型返回"number",如果变量是String型返回"string",如果变量是一种引用类型或Null类型返回"object"。
2、Undefined类型

Undefined类型只有一个值,即undefined。当声明的变量未初始化和函数无明确的返回值时该变量的默认值和函数的返回值都是undefined。需要注意的是值undefined并不同于未定义的值,但typeof不区分这两种值。参考下面的代码:

var oTemp; 
alert(typeof oTemp); //outpus "undefined" 
alert(typeof otemp2); //outpus "undefined" 
alert(oTemp==undefined); //outpus "true" 
alert(oTemp2==undefined); //causes error 
function testFunc(){ 
// 
} 
alert(testFunc() == undefined); //outpus "true"

3、Null类型

Null也是只有一个值的类型,它只有一个专用值null。值undefined实际不是从值null派生来的,因此ECMAScript把它们定义为相等。
1 alert(null == undefined); //outpus "true"

尽管这两个值相等,但它们的含义不同。undefined是声明了变量但未对其初始化时的值,null则用于表示尚未存在的对象。
4、Boolean类型

Boolean有两个值true和false
5、Number类型

Number可以表示32位整数,还可以表示64位浮点数,不同进制间的表示:

var iNum=55;// 10进制 
var iNum=070;// 8进制 
var iNum=oxAB;//16进制 
var fNum=3.125e7;//科学计数法表示浮点数

几个特殊值也被定义为Number类型,前两个是Number.MAX_VALUE和Number.MIN_VALUE,它们定义了Number值集合的外边界。所有ECMAScript数都必须在这两个值之间,不过计算生成的数值结果可以不落在这两个数之间。

当计算生成的数大于Number.MAX_VALUE时,它将被赋予值Number.POSITIVE_INFINITY,意味着不再有数字值。同样,生成的数值小于Number.MIN_VALUE的计算也会被赋予值Number.NEGATIVE_INFINITY,也意味着不再有数字值。如果计算返回的结果是无穷大,那么生成的结果不能再用于其他计算。

事实上,有专门的值表示无穷大,即Infinity。Number.POSITIVE_INFINITY的值为Infinity,Number.NEGATIVE_INFINITY的值为-Infinity。

可以对任何数调用isFinit()方法来判断是不是无穷大。例:

var iResult = iNum*some_really_large_number; 
if(isFinit(iResult)){ 
alert("Number is finite"); 
} 
else{ 
alert("Number is infinite"); 
}

还有一个特殊值是NaN,表示非数(Not a Number)。NaN一般为类型转换失败时的值,NaN不能用于算术计算,NaN的另一个奇特之处在于它与自身并不相等,因此推荐使用isNaN(),如:

alert(NaN == NaN); //outpus "false" 
alert(isNaN("blue")); //outpus "true" 
alert(isNaN("123")); //outpus "false" 
alert(isNaN(123)); //outpus "false"

6、String类型

String是唯一没有固定大小的原始类型。ECMAScript的字符字面量:

字面量

含义

\n

换行

\t

制表符

\b

  空格

\r

回车

\f

换页符

\\

反斜杠

\'

单引号

\"

双引号

\0nnn

  八进制代码nnn表示的字符

\xnn

16进制代码nn表示的字符

\unnnn

16进制的代码nnnn表不的Unicode字符

Javascript 相关文章推荐
javascript下阻止表单重复提交、防刷新、防后退
Aug 17 Javascript
Prototype Object对象 学习
Jul 12 Javascript
Js基础学习资料
Nov 23 Javascript
Google Dart编程语法和基本类型学习教程
Nov 27 Javascript
js实现全屏漂浮广告移入光标停止移动
Dec 02 Javascript
javascript实现滑动解锁功能
Dec 31 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
JavaScript实现短暂提示框功能
Apr 04 Javascript
微信小程序实现提交input信息到后台的方法示例
Jan 19 Javascript
JavaScript ES6常用基础知识总结
Feb 09 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
Sep 20 Javascript
VSCode搭建React Native环境
May 07 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 #Javascript
JavaScript 代码压缩工具小结
Feb 27 #Javascript
根据邮箱的域名跳转到相应的登录页面的代码
Feb 27 #Javascript
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
Feb 27 #Javascript
jQuery学习笔记之控制页面实现代码
Feb 27 #Javascript
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 #Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
Feb 23 #Javascript
You might like
PHP的FTP学习(四)
2006/10/09 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
xml和web特殊字符
2009/04/28 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
解决python 文本过滤和清理问题
2019/08/28 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
python 经典数字滤波实例
2019/12/16 Python
python实现指定ip端口扫描方式
2019/12/17 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
pytorch简介
2020/11/11 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
电子商务专业推荐信范文
2013/12/02 职场文书
毕业生自我鉴定
2013/12/04 职场文书
污水厂厂长岗位职责
2014/01/04 职场文书
四风存在的原因分析
2014/02/11 职场文书
教师节演讲稿
2014/05/06 职场文书
2014组织生活会方案
2014/05/19 职场文书
领导参观欢迎词
2015/01/26 职场文书
Python面向对象编程之类的概念
2021/11/01 Python