当前位置: 代码迷 >> JavaScript >> JavaScript语言基础(3) 数据类型
  详细解决方案

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

热度:847   发布时间:2012-09-14 23:00:48.0
JavaScript语言基础(三) 数据类型

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

?

JavaScript?有六种数据类型。主要的类型有?numberstringobject?以及?Boolean?类型,其他两种类型为?null?和?undefined

?

l?String?数据类型

  字符串是用单引号或双引号来说明的。(使用单引号来输入包含引号的字符串。)一个字符串也是?JavaScript?中的一个对象,不过是个特殊情形,有专门的属性。下面是字符串的示例:
  "The?cow?jumped?over?the?moon."?'"Avast,?ye?lubbers!"?roared?the?technician.'?"42"
  字符串可以包括零个或多个统一编码的字符。如果包含零个字符,则成为零长度字符串?("")。?

l?数值数据类型
  JavaScript?支持整数和浮点数。整数可以为正数、0?或者负数;浮点数可以包含小数点、也可以包含一个?"e"(大小写均可,在科学记数法中表示“10的幂)、或者同时包含这两项。这些数遵循数值表示的?IEEE?754?标准。最后,还有一些特殊的数值:
  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?值就是没有任何值,什么也不表示。?

l?Object?类型

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

? 数据类型的转换;其中parseIntparseFloat是很容易用错的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

?

  相关解决方案