数据类型:
基本数据类型:Undefined Null Boolean Number String
复杂数据类型:Object
typeof判断数据类型:
"undefined"值未定义
"boolean"值为布尔值
"string"值为字符串
"number"值为数字
"object"值为Object或者Null(null被认为是一个空的对象引用)
"function"值为函数
Undefined类型:
对未初始化和未声明的变量typeof都会返回Undefined
Null
可理解为空对象指针
undefined派生自null,所以undefined==null
不同:没有必要对变量显示定义为undefined,但是null不同,如果想保存对象的变量,但是没有真正的对象,可以使用null。
Boolean:
数据类型转换为true转换为false
Boolean true false
String 非空字符串 空字符串
Number 非零数字值 0和NaN
Object 任何对象 null
Undefined不适用未定义
Number:
NaN是一个特殊的数值,作用:当本来要返回数值的操作数未返回数值时,抛出NaN,避免抛出错误,影响其他代码运行。
NaN与任何值都不相等。
能否转换为数值:isNaN(),不能的返回true
将非数值转换为数值:
1.Number():转换规则较复杂,与parseInt()不同的是,对空字符串返回0
2.parseInt():更常用,从第一个字符开始向后扫描,如果第一个非空字符不为数字或者-号,则返回NaN,否则,一直向后,直到遇见非数字字符为止。
3.parseFloat():与parseFloat()原理类似。
String:
将一个值转换为字符串的方法:
1.toString():对null和undefined无效
2.String():在toString()基础上加上了unll和undefined
相等操作符:
1.==比较前进行类型转换
注意:undefined与null相等;
字符串与数值比较,会先把字符串转换为数值
2.全等:比较之前不转换类型
!=与!==与其类似.
条件操作符:
Variable= boolean_expression?true_value : false_value
with语句:
将作用域限定到一个特定的对象中。
var hostname=location.hostname;
var url=location.href;
with (location){
var hostname=hostname;
var url=href;
}