数据类型

JS的7种数据类型:
number、string、boolean、symbol、null、undefined、object

转义字符

转义字符的字符长度是1
' 单引号
\n 回车
\t 制表符
\ \的转义符

多行字符串

let a = "hello,world \    如果\后面有空格,这种写法就会报错
           hello,world"
----------------------------------------------------
let a = "hello,world" +  用加号连接多行字符串更好
           "hello,world"
-----------------------------------------------------
let a = `hello,world     用反引号可以直接书写多行字符串,注意空格也会算作字符
hello,world`

布尔 boolean

布尔是一个逻辑学家,数学家。
boolean 只有两个值 true false

&& 与 均为true返回true
|| 或 一个为true返回true

symbol


null类型

一个值 null

undefined类型

一个值 undefined
bug:都表示什么都没有,没有值。但是这是语言设计的错误。
两者细微的差别:1、变量没有赋值——undefined
2、如果想有一个对象,但是现在还不想赋值,就推荐给一个null值—— null
如果想有一个非对象,不想赋值,可以给undefined


object 对象

除对象外的6种类型,都叫基本类型,
object叫复杂类型,复杂类型是由简单类型组成的,array、function也是对象


例如:

let person = {
    name : 'frank',
    age : 18,
    married : true,
    children : {name:'xxx',age:1}
}

key : value 键值对
在书写键值对时,如果key不加引号,就必须遵循变量名的命名规则。

person['name'] //frank 这种写法必须加上引号,如果没有引号就会将name作为变量,报错 undefined

当key的书写符合标识符(也就是变量名)的条件下:
person['name'] === person.name (特例)

删除键值对
delete person['name'] //同时删除key和value

遍历键值对

let person = {
name : "lmj"
age : "18"
}
for (key in person){
          console.log(key)
}                                //name  age      

那怎么遍历值(value)呢?
先试试person.key

for (key in person){
          console.log(person.key)           
}                          //报错undefined

为什么person.key不行呢,因为person.key === "key"
而person这个对象中没有键(key)名是"key",也就是说key会被当作一个你想访问的键值对的键名,但是这个键名是不存在的

for (key in person){
          console.log(person[key])           
}       //lmj  18

这里的key不加引号,就会识别为变量key,key中存储的是字符串name和age,所以就返回对应的值lmj 18
<值得注意>: 任何情况下不加引号都可能会当作一个变量,所以需要严格区分引号和不加引号的情况


typeof 运算符

用于返回数据的类型是什么
bug:
typeof null // 'object'
let fn(){}
typeof fn //'function'

null类型使用typeof会返回object,函数使用typeof会返回function,这是JS的设计缺陷

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容