javascript-物件object

zhongta發表於2024-11-28

1.物件是引用操作而不是值操作
object a;object b;
a=b;如果b中有屬性x;更改b.x會同時更改a.x,兩者指向同一片記憶體空間。
2.物件的定義會每次為物件分配記憶體空間。使用For迴圈建立的物件每個都是獨立記憶體空間,是不同的物件。

3.物件的建立
Object.create();
let o2=Object.create(null);
null導致o2不會繼承任何prototype的任何屬性方法,例如toString()
如果需要建立一個空物件可以使用
let o3=Object.create(Object.prototype);

object.create()方法的一個應用時其他函式無意之間的對物件的修改

let o={x:"don't change this value"};
library.function(Object.create(o));//防止修改o

4.查詢和設定屬性
可以使用.運算子和[]運算子訪問物件的屬性。
.運算子必須訪問物件的屬性名。[]運算子中必須得到一個字串。例

let author=book.author;
let name=author.name;
let title=book["main title"];

設定,方法類似

book.edition=7;
book["main title"]="ECMAscript";

下述方法得到的值是相同的

object.property
object["property"]

5.下面的程式碼將address0-3屬性拼接到addr中
let addr=""
for(let i=0;i<4;i++){
addr+=customer[address${i}]+"\n";
}
[]運算的優勢在於可以在執行時動態新增查詢資料,.運算子則不行。

相關文章