JavaScript中对这两种对象字面量(json)的操作方式有何不同?

WBOY
Lepaskan: 2016-07-06 13:53:39
asal
1047 orang telah melayarinya

1.对象字面量===json类型的对象吗?
2.假设有一个json类型的对象,比如var a={};
3.以下方式操作json有何不同:
①a.propertyA=valueA;
②var a={propertyA:valueA};

就是一个内部一个外部定义属性的方式

回复内容:

1.对象字面量===json类型的对象吗?
2.假设有一个json类型的对象,比如var a={};
3.以下方式操作json有何不同:
①a.propertyA=valueA;
②var a={propertyA:valueA};

就是一个内部一个外部定义属性的方式

1.对象属于引用类型,===的方式,不为true;

2.a.propertA=valueA和a={propertyA:valueA};没有啥区别。但是要注意,如果是var a=function(){};a.prototype.propertyA=valueA和a.prototype={propertyA:valueA}就有区别了。

  1. 不存在JSON类型的对象这种说法。 var obj = {}; 就叫作对象字面量,JSON和XML一样是一套语法格式。

  2. a={propertyA:valueA};是直接给字面量赋值,a.propertyA=valueA 或者 a[propertyA]=valueA 都可以用于访问/修改/增加字面量的属性值。(使用点操作符时,propertyA必须是合法的JavaScript标识符)

1,对象字面量是指使用键/值的方式定义对象,简单明了,对值并没有限制,而 json 的值只能是:数字(整数或浮点数),字符串(在双引号中),逻辑值(truefalse),数组(在方括号中),对象(在花括号中),null。也就是说 json 的值不能是函数。所以两者是有区别的。
2,a.propertyA = valueA; 相当于在对象添加一个属性,之前定义的属性还存在。而 a = {propertyA: valueA}; 是将 a 覆盖,也就是之前 a 中的属性已经被覆盖。a 对象只有 propertyA 这个属性。

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan