json对象和js对象的区别?

JavaScript019

json对象和js对象的区别?,第1张

JSON与JS对象的区别

和一些同学一样:总是感觉json对象(其实json不是对象)和js对象的字面量表示法相同,最近学习json,真心搞不懂,js对象和json有什么区别?就是感觉json的key要用” “括起来,但是js对象的字面量表示法不需要。

比如:

//js对象的字面量表示法:

var people1={

name:'hehe',

age:18

}

//json的格式是:

var people1={

"name":'hehe',

"age":18

}

1

2

3

4

5

6

7

8

9

10

11

二者相同的地方是,看起来都是数据,而且恰巧又都是文本;不同的地方在于,JS字面量的文本是被脚本引擎直接解析的,而JSON的文本,如果要转化为JS对象的话,是交给eval函数来处理的,那么,如何理解JSON的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。

一直以为JSON是对象,然而在阅读js高程中出现了一些不理解的地方,网上查阅才发现JSON与JS有很大的不同。

var obj={width:100,height:200},这样的并不叫JSON,并且JSON只是一种数据格式,并不是具体的实例对象。但很多人把这样的JS对象当成JSON。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON格式的数据,主要是为了跨平台交流数据用的。

但JSON和JavaScript确实存在渊源,可以说这种数据格式是从JavaScript对象中演变出来的,它是JavaScript的一个子集。JSON本身的意思就是JavaScript对象表示法(JavaScript Object Notation),它用严格的JavaScript对象表示法来表示结构化的数据。

它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;

JSON只是一种数据格式(或者叫数据形式),数据格式其实就是一种规范,格式、形式、规范是不能用来存诸数据的。我们不能把以下的对象叫JSON,比如:

<script>

var obj2={}//这只是JS对象

var obj3={width:100,height:200}/*这跟JSON就更不沾边了,只是JS的对象 */

var obj4={'width':100,'height':200}/*这跟JSON就更不沾边了,只是JS的对象 */

var obj5={"width":100,"height":200,"name":"rose"}/*我们可以把这个称做:JSON格式的JavaScript对象 */

var str1='{"width":100,"height":200,"name":"rose"}'/*我们可以把这个称做:JSON格式的字符串 */

var a=[

{"width":100,"height":200,"name":"rose"},

{"width":100,"height":200,"name":"rose"},

{"width":100,"height":200,"name":"rose"},

]

/*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */

var str2='['+

'{"width":100,"height":200,"name":"rose"},'+

'{"width":100,"height":200,"name":"rose"},'+

'{"width":100,"height":200,"name":"rose"},'+

']'

/*  这个叫稍复杂一点的JSON格式的字符串  */

</script>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

.js文件是JavaScript语言文件的扩展名。

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。JavaScript已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。它是世界上最流行的脚本语言,在电脑、手机、平板上浏览的网页,以及基于HTML5的手机App,交互逻辑都是由JavaScript驱动的。

扩展资料:

javascript脚本语言的主要特点:

1、解释性:javascript是一种解释语言,源代码不需要经过编译,直接在浏览器上运行时被解释。

2、基于对象:javascript是一种基于对象的语言,能运用自己已经创建了的对象,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。

3、事件驱动:JavaScript可以直接对用户或客户输入做出响应,无需经过web服务程序。他对用户的响应,是以事件驱动的方式进行的,所谓事件驱动,指的是在主页执行了某种操作所产生的动作,此动作称为“事件”。

4、跨平台:JavaScript依赖于浏览器本身,与操作环境无关。只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。

5、安全性:JavaScript是一种安全性语言。它不允许访问本地的磁盘,并不能将数据存入服务器上;不允许对网络文本进行修改和删除,只能通过浏览器实现信息浏览或动态交互。可有效的防止数据丢失。

参考资料:百度百科-JavaScript