js里面有七种数据类型。number(数字),string(字符串),boolean(布尔),symbol(符号),null,undefined,object(对象)。
数字类型可以用十进制,二进制,八进制,和十六进制来表示。
十进制: var a = 1; var a = 1+.1; //等于1+0.1,还可以用科学计数法表示。var a = 1.23e2 ;
表示1.23成十的二次方。
二进制以0b开头,八进制以0开头(此处有坑,如果你存数字以0开头的话会被坑。建议用字符串的形式存0开头的数字),十六进制以0x开头。
字符串类型就是用引号包起来的代表字符串'单引号' "双引号",都可以,如果里面不写内容的话就是空字符串,长度为0。但是里面如果有空格的话也算一个看不见字符,长度为1。值得注意的是如果字符串里面有的话代表转义。''表示一个空字符串,因为会被忽略掉,但是如果一定想要表示这个字符的话需要写两个应为第一个会被忽视掉。转义的作用是用来表示一些特殊字符
![83f02a13ce5908f156b972ef155e08d5.png](https://i-blog.csdnimg.cn/blog_migrate/52b9451eb89a70362c2dd0c4fc13d202.jpeg)
多行字符串可以 var a = '123/
123445' //这样写。这是天坑!!!
建议写成 var a = '123'+'123';这种格式中间用+连接。es6改了下你要写多行字符串你用反引号包起来。var a =
`123
123`。这个符号号键盘上面数字1左边那个。
布尔类型只有两个值true(真)/false(假),一般配合&&(与运算)和 ||(或运算)来使用。
a&&b 直接上图:下图为布尔和与运算的关系,两个都为真才会成立,其他都不成立
![816ff08bada25311e6fd7f923aa92300.png](https://i-blog.csdnimg.cn/blog_migrate/80c447ec04175a1d7f2b3b889c9b1402.jpeg)
a||b表示或运算a或者b只要有一项为真即可,直接上图
![5aa58f5d42b50b5554fd6b43429ccec5.png](https://i-blog.csdnimg.cn/blog_migrate/73850ef22ca74d51b3f2b2686c15d841.jpeg)
null类型 就只有一个值null,undefined类型 也只有一个值undefined。意思差不多都表示什么都没有,内容为空。属于js自带的bug。
区别的话 1 变量申明没有负值就为undefined,表示内容为空 。
2 按照惯例 有一个对象现在没有赋值我们就给null,有一个非对象我们还不想给值就给undefined
js的数据类型分简单和复杂类型两种,而对象(object)就是js数据类型里的唯一的复杂类型
什么是复杂类型,复杂类型就是由简单类型组成的。
![a671679e8b74401175d07642c4fb85a5.png](https://i-blog.csdnimg.cn/blog_migrate/9405c9993fc80ac3488238763f96c381.jpeg)
以key:value 这个格式的都可以看作对象,俗称键值对,key为键,value为值,以大括号扩起来。对象里面所有的键都是以字符串的形式存储的,如果是数字键的话会被默认看成字符串的数字比如 1: '小王' 等价于 '1' : '小王'
要想使用对象里面的东西,你可以使用点语法比如 person.name就能拿到'frank'这个值一般这样用不好但是方便,推荐使用person['name']这样拿因为这样更明确,引号不能删,name可以是一个变量,但是字符串'name'就是'name'。用点语法会有坑。。。但是方便啊!!!
删除对象里面的属性可以用delete
delete person['name'] 删除key。检查一下是否还存在,person.name //undefined 表示无value ; 'name' in person //false 表示没有key 这个属性就删除了
js如何遍历对象,使用 for in 循环
格式
![185f3c398f1e5bfe4e0935811086f2c3.png](https://i-blog.csdnimg.cn/blog_migrate/db0dedf7139bc6075d6dd407320fa295.jpeg)
如何查看一个变量的类型,在变量前面加上typeof
![ac1d44639d04e365092f7a06227945a5.png](https://i-blog.csdnimg.cn/blog_migrate/ba0b3f2c55884368778aa6504b47d080.jpeg)
值得注意的是有bug,js自带的。1 typeof null //'object' BUG
2 typeof 函数 //'function' BUG
null这么可能是一个对象呢,函数为什么要返回函数呢,又不是数据类型。
其他总结以后再加。。。。。。