//联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄
一、概念
很多同学区分不了json、字典和对象的区别,常常混为一谈。这三者其实是完全不一样的,只是在js中这三者的语法规则看起来很接近,容易混淆,但这三者完全不同。
二、json
json是和跨语言、序列化和反序列化有关,对数据的类型是有要求的,比如function类型就没法支持,原因是function并不是一个跨语言支持的数据类型,不像整形、字符串、布尔型、数据、字典那样基本常规语言都支持。
三、字典
字典就和跨语言、序列化什么的没有关系了,字典只是一种通用的和排序无关的组织复杂数据结构的数据类型,有的语言里喜欢叫它散列表、hash对象什么的,到了前端领域,很多同学管它叫json其实是不对的。
四、对象
而对象一般是和类、实例化有关的,new一个类,可以得到一个对象。当然,有些对象是由宿主环境直接提供了,比如window下的screen对象,dom节点对象什么的。提到对象,想到的应该是属性和方法,继承关系什么的,和序列化啊,字典啊没什么直接关系。
只是很巧的是,在js中,无论是json、字典还是对象,访问的连接符都是点号,所以看起来好像差不多。其实这三个术语背后的概念差很远。