js里的数据

2019-04-22  本文已影响0人  ChenMurphy

数据总共分为两类:基本类型(简单类型)、复杂类型(由简单类型组成)

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转化为字符串再转

上一篇下一篇

猜你喜欢

热点阅读