《JavaScript高級程序設計(第3版)》有個陌生的新詞:對象字面量,沒法理解。看了一下英文原版,英文是object literal ,仍是不太理解。後來想明白了,主要是literal 這個詞很差理解。它是什麼意思呢?咱們說話時,有時會使用比喻或隱喻,好比咱們說雄鷹展翅飛,通常指的不是天上有隻鷹在飛,通常是形容一我的胸懷大志,而若是用了literal ,它的意思就是,就是字面上的意思,沒有比喻。好比,仍是說雄座展翅飛,我並非在描述某我的像雄鷹同樣自由飛翔,而是天上真的有一隻雄鷹在飛,這就是字面意思。再好比,我說東風41在以超音速的速度前進,這不是在形容它速度快,而是真的超音速,這就是字面意思。可是在漢語中,這種說法彷佛不多用,因此也形成了「對象字面量」的難以理解。spa
對象字面量,就是根據字面上顯示的那些值,來定義對象。若是用常規的定義對象的方法:設計
var person = new Object()對象
這時會默認有不少關於Object的方法會自動被定義給person,這就至關於隱喻。ip
而若是使用了對象字面量:it
var person = {程序設計
name:"張飛",class
age:40object
}程序
它是根據字面上的這些值定義出來的對象,因此稱爲「對象字面量」法。方法