原始数据类型
number:数字。整数、小数、NaN(not a number 一个不是数字的数字类型)
string:字符串。字符、字符串 "acb","a",没有字符串
boolean:ture false
null:表示一个对象为空
undefined:未定义。如何一个变量没有给初始化值,会被默认赋值为undefined
引用数据类型
变量之间的转型
a | 输出 |
---|---|
var a=+“123” | number:123 |
var a=+“12xyz” | number:NaN |
var a=+false | number:0 |
var a=+true | number:1 |
var a=2*“123” | number:246 |
var a=56+“123” | string:“56123” |
var a=5>6 | boolean:false |
var a=5>“3” | 先进行类型转化boolean:true |
var a=(“123”==123) | boolean:true |
var a=(“123”===123) | ===全等运算符boolean:false |
var a=“abc”>“acd” | 按个比较字母在字典的顺序boolean:false |
var a=5>6 | boolean:false |
var a=“78dd”>6 | 无法转型直接返回false;boolean:false |
var a=!!3 | boolean:true |
var a=!!0 | boolean:false |
var a=!!NaN | boolean:false |
var a=!!"" | boolean:false |
var a=!!“abc” | 只要不是“”空,都为真boolean:true |
var a=!!null | boolean:false |
var a=!!undefined | boolean:false |
var a=!!new Date() | 对象只要不是null或undefined,都为真boolean:true |
var a=(NaN==NaN) | boolean:false;判断是否为NaN只能用isNaN()方法 |