《JavaScript進階程式設計(第3版)》有個陌生的新詞:對象字面量,無法了解。看了一下英文原版,英文是object literal ,還是不太了解。後來想明白了,主要是literal 這個詞不好了解。它是什麼意思呢?我們說話時,有時會使用比喻或隐喻,比如我們說雄鷹展翅飛,一般指的不是天上有隻鷹在飛,一般是形容一個人胸懷大志,而如果用了literal ,它的意思就是,就是字面上的意思,沒有比喻。比如,還是說雄鷹展翅飛,我并不是在描述某個人像雄鷹一樣自由飛翔,而是天上真的有一隻雄鷹在飛,這就是字面意思。再比如,我說東風41在以超音速的速度前進,這不是在形容它速度快,而是真的超音速,這就是字面意思。但是在漢語中,這種說法似乎很少用,是以也造成了“對象字面量”的難以了解。
對象字面量,就是根據字面上顯示的那些值,來定義對象。如果用正常的定義對象的方法:
var person = new Object()
這時會預設有很多關于Object的方法會自動被定義給person,這就相當于隐喻。
而如果使用了對象字面量:
var person = {
name:"張飛",
age:40
}
它是根據字面上的這些值定義出來的對象,是以稱為“對象字面量”法。