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}就有區別了。
不存在JSON類型的對象這種說法。 var obj = {}; 就叫作對象字面量,JSON和XML一樣是一套文法格式。
a={propertyA:valueA};是直接給字面量賦值,a.propertyA=valueA 或者 a[propertyA]=valueA 都可以用於訪問/修改/增加字面量的屬性值。(使用點操作符時,propertyA必須是合法的JavaScript標識符)
1,對象字面量是指使用鍵/值的方式定義對象,簡單明了,對值並沒有限制,而 json 的值只能是:數字(整數或浮點數),字串(在雙引號中),邏輯值(true 或 false),數組(在方括弧中),對象(在花括弧中),null。也就是說 json 的值不能是函數。所以兩者是有區別的。
2,a.propertyA = valueA; 相當於在對象添加一個屬性,之前定義的屬性還存在。而 a = {propertyA: valueA}; 是將 a 覆蓋,也就是之前 a 中的屬性已經被覆蓋。a 對象只有 propertyA 這個屬性。