JS有 7种数据类型
number(数字)
string(字符串)
bollear(布尔)
Symbol(符号)
object(对象)
null
undefinedcode
number
十进制
1.23e2 意为 1.23乘以 10的2次方
二进制
0b 开头的就是二进制
八进制
011
0表明八进制 意为 1乘以8 加 1 = 9
0x11 意为 x表示16 x1表示 1x乘以1=16 加 1 = 17
0x21 = 33 道理同上对象
string (多行字符串)
var s = '123' + '456' // 推荐这种
var s = '123 456' // 不要写这一种 容易出错字符串
布尔
a && b ab都为真
a || b ab只要其中有一个为真 都为真 两个都为假 为假string
null、undefined的区别
若是一个变量没有复制 就是 undefined 【规则】
有一个非对象 不想复制 初始化为 undefined 【惯例】
有一个对象 但如今还不想复制 就给null 【惯例】io
object 对象
var name = "aaaaa" var age = 18, //对象就是简单类型的组合 var person = { //等号两边都加"" 功能多 好比 8a:"cccc" 会报错 "8a":"cccc" 不会报错 "name":"aaaaa", // ES3 不能加, ES5能够加,IE7如下 不能加,IE8以上 能够加, "age":18, married:true, chilren:{ name:'xxx', age:1 } } //var person 是变量 {} 类型是object // 取值的时候 单引号不能省略 单引号不能省略 单引号不能省略 person['name']
var person = { name:'123',age:18 } for(var key in person){ console.log(key); // name age (这两个出现的顺序看运气) console.log(person.key); //错误写法 至关于字符串key person.['key'] console.log(person.[key]); //正确写法 }
typeof 返回对应的类型
除正常外 应特殊记忆
**
typeof null 返回 object
typeof function(){} 返回 function
**console