p24
var message="some string";
alert(typeof message);   //显示为string
alert(typeof 0626);   //显示为number   

typeof是操作符而不是函数,alert后的圆括号其实可以省略的啊。

alert typeof null; // 会返回object,因为null被认为是一个空的对象引用
undefined类型:

他只有一个值,就是undefined。

在使用var声明变量但没有初始化(我理解就是还没赋值)的时候,值就是undefined。

var message;
alert typeof message;
null类型:

他也只有一个值啊,就是null。

null表示一个空对象指针,使用typeof 检测的时候会返回object。

如果定义的对象用来保存对象,初始化值应该是null。

if{car!=null} //检测变量是否保存了一个对象的引用

undefined派生自null(感觉就是他儿子呗)

alert (null==undefined); //亲子鉴定,结果是true

只要用于保存对象的变量还没有保存对象,就应该保存null值,方便区分undefined和null。

p26

Boolean类型:true/false

true不一定是1,false也不一定等于0。

将值转换为对应的boolean值,可调用转型函数Boolean()。

var message="hi";
var messageAsBoolean = Boolean(message);
alert (messageAsBoolean);

转换规则如下:

true false
string 非空字符串 空字符串
number 非0 0和NaN
object 任何对象 null
undefined n/a(不适用) undefined
p27

number类型:

整数还可通过八或十六进制,八进制第一位必须是0。

如果字面值中数值超出范围,前导0将被忽略。

八进制在严格模式下无效。

在进行算术计算,最终都会被转换成十进制。

p28

浮点函数:

数值当中必须包含一个小数点,小数点后必有至少1位小数。

默认情况下,小数点后带有6个0以上的浮点转换为以e为表示方法。

浮点的最高精度是17位小数。

不要测试某个特定的浮点数值。

p29

NaN:非数值,任何涉及到NaN的操作都会返回NaN,NaN与任何值都不相等,包括他本身

alert(NaN==NaN); //结果是false

isNaN()函数:确定参数是否”不是数值“,任何不能被转换为数值的值会被返回true。

alert(isNaN(10)); //输出false
alert(isNaN("10")); //输出true,因为能被转换成数值10
alert(isNaN(true))  //boolean值可以被转换成0或者1
p30

数值转换:

1.Number()转换方式

转换前 转换后
Boolean 0或者1
number 传入或者返回相同数值
null 返回0
undefined NaN

2.pareInt()

如果第一个字符不是数字字符或者负号,parseInt()返回NaN。

3.parseFloat()

如果第一个字符是数字符号,则会继续解析知道碰上非数字,小数点不算数字

例子:22.5会被转换为22