《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 相关文章推荐
解析John Resig Simple JavaScript Inheritance代码
Dec 03 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
Aug 21 Javascript
js去空格技巧分别去字符串前后、左右空格
Oct 21 Javascript
jquery增加时编辑jqGrid(实例代码)
Nov 08 Javascript
Javascript 字符串模板的简单实现
Feb 13 Javascript
Jquery判断form表单数据是否变化
Mar 30 Javascript
原生JS实现图片翻书效果
Feb 16 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
Nov 24 Javascript
动态加载、移除js/css文件的示例代码
Mar 20 Javascript
JavaScript实现表单注册、表单验证、运算符功能
Oct 15 Javascript
layui表格数据重载
Jul 27 Javascript
jquery实现进度条状态展示
Mar 26 jQuery
《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 set_error_handler()函数使用详解(示例)
2013/11/12 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
javascript Event对象详解及使用示例
2013/11/22 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
对象题目的一个坑 理解Javascript对象
2015/12/22 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
opencv python 傅里叶变换的使用
2018/07/21 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
python中有函数重载吗
2020/05/28 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
轻松制作精彩视频:Animoto
2018/09/19 全球购物
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
计算s=f(f(-1.4))的值
2014/05/06 面试题
实习教师个人的自我评价
2013/11/08 职场文书
道路建设实施方案
2014/03/18 职场文书
文体活动实施方案
2014/03/27 职场文书
党员领导干部承诺书
2014/05/28 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
语文教师求职信范文
2015/03/20 职场文书
赤壁观后感(2)
2015/06/15 职场文书