1.数字 -number
2.字符串 -string
3.布尔 -boolean
4.symbol(符号)-symbol
5.null -null
6.undefind -undefind
7.对象 ←(array function 属于)
###############################################
number
十进制
1.1 .1
123e2 = 123
二进制
0b11 = 3
八进制
011
十六进制
0X11 =17
string
'你好' "你好" ' ' " "←长度1 '' "" ←长度0
var a = ''' (X)
var a="'" 双引号包裹单引号
var a=' ' ' \转义符 \n回车 \t 制表符 \b 回车 \转义转义符
&&多行字符串
var a='12345\ (\ 回车)
55656'
var a='12345'+ (+回车连接)
'23456'
!!!#ES6中多行字符串
var a=`123456(此处又会回车)
654321`
布尔(boolean) 一个数学家
有一天下雨了 去上课没带伞 得了肺病 然后去世了
布尔的值 true(真)或false(假)
&&与运算
|| 或运算
a&&b (和)
a为真 b为真 结果就是真 其他都为false
a||b (或) 其中一个为真 就为真
null 是一个类型
值就是null
undefind 是一个类型
值就是undefind
null undefind 都表示什么都没有
如果一个变量没有值 -undefind
如果想有一个对象(object) 现在不想赋值 就给他一个 null 空对象
有个非对象 不想给值 undefind 空字符串等等
#######以上都是基本类型(简单类型)###############
object(复杂类型)是由简单类型组成的
var nam='jake' 字符串要加引号
var age=21 数字不需要引号
var gender='male'
创建对象
var person={name:'jake', a:'cccc' 左边永远是字符串 花括号开头 花括号结尾
age:21,
gender='male',
xiaosan:undefind, undefind
married:true, 布尔
children:{name:'xxx',age:'99'} 还可以包含对象
}
读取值
preson['name'] 引号不可以省略
preson.name 在符合标识符的情况下可以使用
delete preson['name'] 删除preson 内的key #name#
preson.name //undefind 无value #获取值#
['name'] in preson //false 无key #获取key#
preson.name=undefind 只是删除了 value
for in
var preson={name:'jake',age:21}
for(var key in preson){ 遍历preson的key
console.log(key) 打印preson的key
}
for(var key in preson){ 遍历preson的key
console.log(key,preson[key]) 打印preson的key value
}
遍历出来的key顺序是不确定的
typeof 查看类型
var t=1
typeof t //number
var t='qwerty'
typeof=t //string
string number boolean symbol undefind null object
string number boolean symbol undefind objectbug
object
function x( ){
}
typeof x // function bug
应返回object