《JavaScript教程》05章 数据类型


虽然JavaScript没有明确地区分类型,我们仍要搞清楚以下几点:数值型和字符串型是最常见的基本类型、字符串同时作为对象处理的。日期型也是作为对象来处理的。布尔型一向简单,而数组需要重点掌握。

数值型
JJavaScript的数值型包括10进制、8进制、16进制、实数、小数、整数等都可以使用。O开头的整数是8进制,0x开头的整数是16进制。
12345    // 10进制的12345
1.23     // 实数的 1.23
1.23e4   // 1.23 × 10的4次方
1.23E4   // 1.23 × 10的4次方
012      // 8进制的12(10进制的10)
0x1b     // 16进制的1B(10进制的27)

字符串型
字符串的内容很多,专门作为一章来学习。这儿简单一提。 
str = "这是字符串";

布尔型
布尔型只有2个值:true和false。 True、TRUE、False、FALSE等都是错误的写法。
作为条件比较时要特别注意:
  ◆ 数值的0和-0,特殊变量的null、false、NaN、undefined、空字符串("")都作为false处理
  ◆ 其它都作为true处理
xx = (3 = 4);    //xx的值为: false
xx = (100 > 50); //xx的值为: true

日期型
日期型的内容也较多,专门作为一章来学习。这儿简单一提。
dd = new Date(1999, 11, 31, 23, 59, 59, 999);

数组型
严格地说数组不能算基本数据类型,数组在任何语言中都是必须掌握的。
xx = new Array(3); 
xx[0] = "Sun"; 
xx[1] = "Mon"; 
xx[6] = "Sat"; 
yy = new Array("Sun", "Mon", "Thu");

对象类
用java的思想来说,一切都是类。事实上数值型和布尔型也都封装了相应的类,即Number和Boolean。因过于简单,不用也罢。
xx = new Number(123);     //等价于: xx = 123;
xx = new Number("123");   //等价于: xx = palseInt("123");
xx.toString();            //转换成字符串,事实上,在使用时JavaScript会自动转换。
xx.toString(16);          //转换成16进制的字符串: 7B
yy = new Boolean(true);   //等价于: yy = true;

另外,Number类中封装了一些可以直接使用的常数。
Number.NaN                 //不正确的数值
Number.MAX_VALUE           //JavaScript可用的最大数
Number.MIN_VALUE           //JavaScript可用的最小数
Number.POSITIVE_INFINITY   //JavaScript正数无穷大
Number.NEGATIVE_INFINITY   //JavaScript负数无穷小

常量
null        空
undefined   未定义
NaN         非数值
Infinity    无穷大数值 
JavaScript将所有整数和小数都转换为浮点小数,当用不正确的类型数据进行数学运算时就转换成NaN
正数大到JavaScript无法表示时,便转换成Positive Infinity
负数小到JavaScript无法表示时,便转换成Negative Infinity
avaScript是区分正0和负0的。
null不属于任何一种数据类型,表示“没有值”。你可以将null赋给某一变量,
这等于删除这个变量的值,但却保留这个变量的定义。。
当null参于运算时便产生undefined结果。