JavaScript语言基础(三) 数据类型

mianhuantang 2011-09-07

虽然变量定义都是var;但javascript还是拥有数据类型的。

 

JavaScript 有六种数据类型。主要的类型有 number、string、object 以及 Boolean 类型,其他两种类型为 null 和 undefined。

l String 数据类型

字符串是用单引号或双引号来说明的。(使用单引号来输入包含引号的字符串。)一个字符串也是 JavaScript 中的一个对象,不过是个特殊情形,有专门的属性。下面是字符串的示例:

"Thecowjumpedoverthemoon."'"Avast,yelubbers!"roaredthetechnician.'"42"

  字符串可以包括零个或多个统一编码的字符。如果包含零个字符,则成为零长度字符串 ("")。 

l 数值数据类型

JavaScript支持整数和浮点数。整数可以为正数、0或者负数;浮点数可以包含小数点、也可以包含一个"e"(大小写均可,在科学记数法中表示“10的幂”)、或者同时包含这两项。这些数遵循数值表示的IEEE754标准。最后,还有一些特殊的数值:

NaN,即不是一个数

正无穷

负无穷

正数0

负数0

整数可以以10(十进制)、8(八进制)和16(十六进制)作为基数来表示。

八进制整数用一个前导"0"指明,并可以包含从0到7的数字。如果某个数字有一个前导"0"但是又包含数字"8"和/或"9",则该数字是一个十进制数。如果一个应该为八进制的数中包含了字母"e"(或"E")将会产生一个错误。

十六进制("hex")整数用前导"0x"指明(其中的"X"大小写均可),并且可以包含从0到9的数字以及从A到F的字符(字母的大小写均可)。字母"e"在十六进制记数法中是一个允许的数字,但并不是表示这是一个指数。字母A到F是作为单个的数字,用来表示以10为基数的10到15这些数。也就是说,0xF等于15,而0x10就等于16。

八进制数和十六进制数可以是负数,但不能是小数。一个以单个"0"开头并包含一个小数点的数是一个十进制的浮点数;如果一个数以"0x"或"00"开头并包含一个小数点,则该小数点右边的任何数都将被忽略。

一些示例:

  .0001, 0.0001, 1e-4, 1.0e-4 // 四个浮点数,它们互等。 3.45e2 // 一个浮点数,等于 345。 42 // 一个整数。 0377 // 一个八进制整数,等于255。 00.0001 // 由于八进制数不能有小数部分,因此这个数等于 0。 0378 // 一个整数,等于 378。 0Xff // 一个十六进制整数,等于 255。 0x37CF // 一个十六进制整数,等于 14287。 0x3e7 // 一个十六进制整数,等于 999。 0x3.45e2 // 由于十六进制数不能有小数部分,因此这个数等于 3。 

l Boolean 类型

可能的Boolean值有true和false。这是两个特殊值,不能用作1和0。

  注意 在比较中,任何等于 0 的表达式被视为 false,而任何不等于 0 的语句都被视为 true。

l Undefined 数据类型  一个为 undefined 的值就是指在变量被创建后,但未给该变量赋值以前所具有的值。

l Null 数据类型  null 值就是没有任何值,什么也不表示。 

Object 类型

除上述类型外,其他类型全部都做object类型处理。包括数组,日期,function,json对象等.

  数据类型的转换;其中parseInt和parseFloat是很容易用错的2个方法。

  l 基本数据类型转换的三种方法:

     1. 转换为字符型:String(); 例:String(678)的结果为"678"

             2. 转换为数值型:Number(); 如果不能转换成数字则返回NaN。例:Number("678")的结果为678;而Number("6a")返回NaN

             3. 转换为布尔型:Boolean(); 例:Boolean("aaa")的结果为true

  l 从一个值中提取另一种类型的值的方法:

             1. 提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123

             2. 提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55

             3. 执行用字符串表示的一段javascript代码:eval(); 例:zhang=eval("1+1")的结果zhang=2

相关推荐