数据总共分为两类:基本类型(简单类型)、复杂类型(由简单类型组成)
1.基本类型
1.1.number
用开发者工具的console可以直接打出来很方便。比如控制台直接打ob11就会出来3。
1.2.string
`这个也行,所以总共有3种方法但是1,3有缺点所以还是用2吧,毕竟方方一直用2
1.3.boolean
1.4.symbol
搜方应杭symbol
1.5.null
1.6.undefined
和null一样表示什么都没有。为什么要有两个呢,这是js之父的bug
区别:
一般程序员惯例null表示空对象。var obj = null 。undefined表示空非对象 var a = undefined但是一般默认为undefined。所以var a 就行了。所以空的赋值就两种。 var obj = null var a
2.复杂类型
2.1.object
就是我们之前说得哈希表,就是key+value。ES3最后一个哈希不能加逗号,ES5可以。所以IE7以下的不能加逗号IE8以上可以。
对象就是简单类型的组合,所以js就非常简单,给你6中简单类型。然后一个复杂类型你可以由简单类型随便组合。
数组和函数都在对象里面
左边随便key,value可以是1~7的类型,包括对象
对象两个优点:
1.简单方便
2.可以看到相互关系,比如我知道这个name,age,性别都是这个person的。之前随便定义了3个变量也不知道什么东西,什么关系。
person['name']这个引号不能去掉。在对象集里面key的引号可以去。因为规定这里必须是字符串了,不会有歧义。person[name]的话这name是变量不是字符串。比如前面如果var name = 'fuck' 那 person[name]就相当于person['fuck'],而person里面没有'fuck'这个key就会报错了。
2.1.1.读object
如果key符合标识符(可以不加‘’)。这时候读key可以用person.key的方式。所以自己统一都符合标识符。读的时候也都用“.”别用[ ]。
那我当然还是习惯就不要加''咯,如果我'9a'是符合的。那读又得person['9a']
多麻烦。还是一律不加'',一律不用['key'].
另外“.”左右是从左到右的。左边是右边的爸爸。
2.1.2.写object
9a不符合标识符,标识符就是变量名的规则
1.首字符不能数字
2.中间不能空格
3.不能有奇怪字符
尽管限制很多大部分人还是不喜欢加引号,因为懒。我其实可以先写好后面批量加引号
中文可以,中文可以当变量名
2.1.3.删object
删除有两种,直接delete会把key和value都删掉。第二种直接给value赋值为undefined,这种的话显然key还在
2.1.4.遍历object
2.2.type of
历史
错题
"𝌆".length 为 2 是因为 js的bug,不能识别16字节以上的字符。所以𝌆被拆成两个字符。
中文不能直接翻译成base64,必须先用encodeURICompoent转化为字符串再转
网友评论