欢迎来到天天文库
浏览记录
ID:18310039
大小:113.00 KB
页数:9页
时间:2018-09-17
《javascript高级程序设计(第3版)学习笔记3——简单数据类型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据类型是编程语言的砖瓦,是所有你能想象到的复杂抽象的基础,在现代编程语言中,除了语言本身内置的一些简单数据类型外,基本上都提供了用于自定义数据类型的语言机制(在C中也可以利用结构体来实现),这些机制在一定程度上也决定了该语言的流行度和生命力。ECMAScript是一种动态类型的语言,构建于5种简单数据类型(Undefined、Null、Boolean、Number、String)和一种复杂数据类型(Object)的基础之上。这篇文章就来复习一下简单数据类型,我会尽量从编程实践的角度来描述,下面代码运行环境为FireFox14.0.1。简单数据类型简单数据类型取值Undefinedundefi
2、ned(只有一个值)Nullnull(只有一个值)Booleantrue
3、false(只有两个值)Number数值String字符串 首先需要说明的是,在ECMAScript中,上述5种简单数据类型,其中Boolean、Number、String都有同名的内置包装对象,而简单数据类型的字面值(变量)会根据情况自动包箱,从而可以直接调用方法,至于具体可以调用哪些方法,在讨论内置对象时再详细说明:console.info(true.toString());//true,相当于使用Boolean()包装之后再调用console.info(Boolean(false).toString());//f
4、alse,将false转换为Boolean类型值console.info(newBoolean(false).toString());//false,将false使用Boolean()包装console.info(false.toString());//false,相当于使用Boolean()包装之后再调用console.info('test'.toString());//test,相当于使用String()包装之后再调用http://biao.qqlove789.comtry{console.info(undefined.toString());//没有相应包装类型,抛出异常}catch(e
5、){console.info(e);//TypeError}try{console.info(null.toString());//没有相应包装类型,抛出异常}catch(e){console.info(e);//TypeError}varnum=4;console.info(num.toString());//4,可以直接在简单数值变量上调用方法,相当于使用Number()包装之后再调用//console.info(3.toString());//SyntaxError,语法错误不能使用try捕获,说明不能直接在数值字面量上调用 其次说一下实际用的最多的数据转换: (1)转换为Boole
6、an:!!value (2)转换为Number:+value (3)转换为String:''+value 下面再具体说明5种简单数据类型:1、Undefined类型 Undefined数据类型只有一个取值:undefined。(1)所有未初始化的值都默认为undefined(也就没有必要把一个变量显示初始化为undefined了)。(2)在函数作用域中,没有传入实际参数的函数形参为undefined。(3)函数没有明确返回或者return;的时候,返回值为undefined。(4)在ECMAScript中,规定null==undefined返回true,而null===undefine
7、d返回false。(5)undefined相应的Boolean值为false。(6)使用typeof作用于undefiend时,返回字符串'undefined',作用于一个从未声明的“变量”时,http://name.ttplay8.cn也会返回'undefined'。(7)undefined转换数值为NaN,转换字符串为'undefined'。console.info(undefined===undefined);//trueconsole.info(typeofundefined);//undefinedconsole.info(typeofnoDefined);//undefined,未
8、定义的标识符,使用typeof也返回undefined,这也是未定义的标识符唯一可用的的操作符console.info(!undefined);//true,这里返回true,正是很多条件语句中判断变量是否初始化的基础console.info(!!undefined);//任何一个值,使用双重否定!!都会将其转换为相应的Boolean值,这里说明undefiend相应的Boolean值为false
此文档下载收益归作者所有