JavaScript 数据类型和值

来源:互联网 发布:网络高级工程师上课图 编辑:程序博客网 时间:2024/05/01 08:00

  程序是通过操作值来运行的。用来表示并操作的值的类型成为数据类型。JavaScript包括三种基本数据类型——数字、文字字符串和布尔值,还支持两种小数据类型null(空)和undefined(未定义)。
  此外,JavaScript还支持符合数据类型——对象。对象是值的集合。有序集合(数组)、函数(function)和已命名的无序集合都是对象。除此之外,JavaScript还定义了一些专用对象类(class),如表示日期的Date对象类,表示正则表达式的RegExp对象类,表示语法和运行时错误的Error对象类。

  数字:
  JavaScript不同于其他语言的一个特点是它不区分整型数值和浮点型数值,所有的数字都由浮点型表示。它采用IEEE754标准定义的64位浮点格式表示数字。
  JavaScript支持十进制、十六进制和八进制数值直接量。需要注意的是ECMAScript标准不支持八进制直接量,而且不是所有的JavaScript都支持八进制数值,所以在程序中要尽量避免八进制直接量的使用。
  在JavaScript中采用了大量的算术函数,来支持复杂的算术运算,这些函数都被保存在Math对象中,作为Math对象的属性使用。
---------------------------------------------------------------------------------------------
  Math对象——核心参考手册和其后列表
  数字的 toString()方法:toString()方法可以用它的参数指定的基数或底数(底数必须在2和36之间)把数字转换成字符串。
---------------------------------------------------------------------------------------------
  JavaScript中还定义了一些特殊的数值来表达特殊情况下的数据的值。
   Infinity                 表示无穷大的特殊值
   NaN                  特殊的非数字值
   Number.MAX_VALUE           可表示的最大数字
   Number.MIN_VALUE            可表示的最小数字(与零最接近的数字)
   Number.NaN              特殊的非数字值
   Number.POSITIVE_INFINITY      表示正无穷大的特殊值
   Number.NEGATIVE_INFINITY     表示负无穷大的特殊值
    JavaScript还定义了函数isNaN()用来检测NaN值,isFinite()来检测一个数字是否是Nan、或正无穷大或负无穷大。

  字符串:
  JavaScript中的字符串包含在单引号或双引号中,在JavaScript中没有char字符类型,而是用长度为1的字符串来表示字符。
  在JavaScript中,我们还可以使用转义序列把Unicode字符添加到字符串直接量中,这对于不支持完整Unicode字符集的地方非常有用。
  我们在使用字符串的时候,可能会遇到字符串本身包含了单引号或双引号的情况,这是就需要用到JavaScript中定义的转义字符加单引号或双引号来表示,如“/'”或“/"”。JavaScript的转义序列有:
     /0           NUL字符(/u0000)
     /b            退格符(/u0008)
     /t            水平制表符(/u0009)
     /n            换行符(/u000A)
     /v            垂直制表符(/u000B)
     /f              换页符(/u000C)
     /r             回车符(/u000D)
     /"             双引号(/u0022)
     /'             单引号或撇号(/u0027)
     //             反斜杠(/u005C)
     /xXX     由两位十六进制数值XX指定的Latin-1字符
     /uXXXX    由四位十六进制数XXXX指定的Unicode字符
     /XXX     由一位到三位八进制数(1到377)指定的Latin-1字符。ECMAScript不支持。
  同Java语言一样,JavaScript用(+)号连接多个字符串。
  JavaScript的字符串和数组一样从0开始索引。
------------------------------------------------------------------------------------------------------------------------------------------------
  对字符串的属性和方法,length、charAt()、substring()、indexOf()等,参考核心参考手册的String对象和其后列表
------------------------------------------------------------------------------------------------------------------------------------------------

  布尔值:
  true和false,常用于JavaScript的控制结构。

  函数:
     函数(function)是一个可执行的JavaScript代码段,包括用户自定义函数和JavaScript预定义函数。
  JavaScript函数相对于其它语言的一个重要特性是,JavaScript中的函数是一个真正的数据类型,这就意味着函数可以被存储在变量、数组和对象中,还可以作为参数传递个其它函数。
  我们在定义函数时,除了用传统的:
  function name(param,){ …… }
  还可以用JavaScript特有的函数直接量的方法,这在某些高级脚本中非常有用:
  var name = function(param,){ …… }

  对象:
  有着面向对象语言基础的程序员来说,一定知道对象就是数据的集合。JavaScript中的对象,其属性包括了存储在其中的变量和函数方法。这些属性都可以通过对象来调用(非常类似于Java)。
  JavaScript中的对象可以作为关联数组使用,因为它们能够将任意的数据值和任意的字符串关联起来。如果采用这种方式使用对象,访问对象的方法要使用一个由方括号封闭起来的、包含所需属性名的字符串。如访问image对象的width和height属性:iamge["width"];image["height"]
  ECMAScript v3定义了对象直接量的语法,使你能够创建对象并定义它的属性。对象直接量由一个由花括号中的列表构成,这个列表的元素是用冒号分隔的属性/值对,元素之间用逗号隔开。
  如定义一个point对象:
    var point={x:2.3,y=1.3}
  对象直接量也可以嵌套,如:
    var rectangle = {upperleft:{x:2,y:2},lowerright:{x:4,y:4}}
  其中属性值不必是常量,也可以是任意的JavaScript表达式。

  数组:
  JavaScript中,要获得数组中的值,可以使用数组名,加上用方括号封闭起来的下标值。数组的下标从0开始。(这些都和Java数组一样)数组可以存放任何一种JavaScript数据类型,包括其它数组、对象或函数的引用。由于JavaScript是一种无类型语言,因此数组元素不必具有相同的数据类型。
  数组的创建方法如下:
  var a = new Array();  
  a[0] = 1.2;
  a[1] = "JavaScript";
  a[2] = true;
  a[3] = {x:1,y:3};
  var b = new Array(1.2,"JavaScript",true,{x:1,y:3});
  var c = new Array(4);
  数组直接量的定义与对象直接量定义类似,也可以嵌套,其属性值不必是常量:
  var d = [1.2,"JavaScript",true,{x:1,y:3}];
  而且数组直接量中还可以存放未定义的元素:
  var e = [1,,,,5];

原创粉丝点击