javaScript高级程序编程
2018-10-08 本文已影响0人
_Enco_
Null类型
- Null值表示一个空对象指针。
var car = null;
alert(typeof car); //"object"
- 如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null。
- undefined值是派生自null值的,因此ECMA-262规定对他们的相等性测试要返回true:
alert (null == undefined); //true
alert (null === undefined); //false
Number 类型
八进制
var octalNum1 = 070; //八进制的56
var octalNum2 = 079; //无效的八进制--解析为79
var octalNum3 = 08; //无效的八进制--解析为8
浮点数值
var floatNum1 = 1.1;
var floatNum2 = .1; //有效,不推荐
var floatNum3 = 1.; //解析为1
var floatNum4 = 10.0; //解析为10
- 由于保存浮点数值需要的内存空间是整数值的两倍,因此ECMAScript会不失时机地将浮点数值转换为整数值。
浮点数值
alert(NaN == NaN); //false
- isNaN()函数确认参数是否“不是数值”。函数会尝试将参数转换为数值,任何不能转换为数值的值都会导致这个函数返回true。
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false
alert(isNaN("10")); //false 可以被转换成数值10
alert(isNaN("blue")); //true 不能转换为数值
alert(isNaN(true)); //false 可以被转换为数值1
String 类型
- null和undefined没有toString()方法。String()方法可以返回null和undefined的字面量。
操作符
布尔操作符
- 逻辑或
我们可以利用逻辑或来避免null或者undefined值:
var myObject = preferredObject || backupObject;
ECMAScript程序的赋值会经常采用此赋值模式。