1, ECMAScript 有五种原始类型 (primitive type ) Undefined , Null , Boolean , Number ,String
2, typeof 运算符
typeof 后面有一个参数,就是要检查的变量或值.
var sTemp = "test string"; alert (typeof sTemp); //输出 "string" alert (typeof 86); //输出 "number"
3, 对变量或值调用 typeof 运算符将返回下列值之一:
- undefined - 如果变量是 Undefined 类型的
- boolean - 如果变量是 Boolean 类型的
- number - 如果变量是 Number 类型的
- string - 如果变量是 String 类型的
- object - 如果变量是一种引用类型或 Null 类型的
4, Undefined 类型
var oTemp ; alert(typeof oTemp); // 输出"undefined"
第一行代码声明变量 oTemp 没有初始值, 将被赋予undefined , 当声明的变量没有初始化时 ,他 的值就是undefined .
var oTemp ; alter (typeof oTemp) ; 输出"undefined" alter (typeof oTemp2); 输出"undefined"
变量oTemp2 从没被声明过,也被 typeof 认为是undefined 但使用其他运算符时,会引起错误
var oTemp; alert (oTemp2 == undefined); // 发生错误
函数没有返回值时, 返回的也是 undefined ...
function testFuc(){ } alert(testFuc() == undefined) ; // 输出true
5, Null 类型
alert (null == undefined); // 输出true
ECMAScript 把 null 和undefined 认定为相等. 但是他们的含义是不同的, undefined 是定义了变量但未对其初始化时赋予该变量值. null 表示不存在的对象 .
如果函数或方法返回的是对象, 当招不到这个对象的时候值一般是null .
6, Boolean 类型
有两个值 true ,和 false
7, Number 类型
number 类型 既可以表示 32位的整数 , 也可以表示 64位的 浮点数.
var iNum = 86 ;
number 可以表示八进制数 ,或者16进制数
八进制数的首字母是0 , 后面跟(1-7)
var iNum = 070 ; // 十进制的值是56--
十六进制的数字 ,
首位数字是0 ,后面跟x , 再后面跟 0-9, A-F 这些可以是 字母可以是大写的
var iNum = 0x1f ; //31 var iNum = 0xBE; //190 16*11 + 14
整数可以表示成 八进制,或者十六进制 , 但是算数运算返回的都是十进制数.
8, 浮点数
var fNUm = 5.0 ; // 数字后面加 . 再跟数字
浮点数在用于计算前, 真正存储的是字符串.
对于数值很大, 位数很多的数字 , 可以用科学计数法来表示浮点数 .
56180000可以表示成 var fNum = 5.618e7 ; 例如 0.00000000000000008 可以表示为 8-E17
9, 特殊的Number 值
Number.MAX_VALUE
Number.MIN_VALUE
-----
NAN (不是数字) not a number
-----
nan 自己和自己不相等
alert (NaN ==NaN) ; // false 自己和自己不相等
这样子的话, 使用函数 isNaN() 就可以了
alert(isNaN("blue")); //输出 "true" alert(isNaN("666")); //输出 "false"
10, String 类型
String类型是唯一没有固定大小的原始类型..
EVMAScript 中没有 char' 类型的字符 , 所以可以用 单引号 或者双引号 来表示字符串.
var sGirl1 = "rabbit"; var sGril2 = 'rabbit';
------
ECMAScript 的字符字面量:
\n
换行
\t
制表符
\b
空格
\r
回车
\f
换页符
\\
反斜杠
\'
单引号
\''
双引号
\0nnn 八进制码表示的字符 0-7
\xnnn 十六进制码表示的字符 0-F
\unnn 十六进制码表示的Unicode字符