Javascript高級編程學習筆記(12)—— 引用類型(1)Object類型
前面的文章中我們知道JS中的值分為兩種類型
基礎類型的值和引用類型的值
基礎類型的值我已經大概介紹了一下,今天開始後面幾天我會為大家介紹一下引用類型的值
Object類型
對象是引用類型的值的實例,在ECMA中引用類型是一種數據結構
用於將數據和功能組織到一起,在其它編程語言中通常也被稱為類
但是與其他語言中的類不一致,JS中並沒有在其他面向對象的編程語言中與類相關的接口
引用類型通常也被稱為對象定義,因為其描述的是一類對象所具有的屬性和方法
JS為我們提供了許多原始的引用類型
今天就介紹這些原始引用類型中的Object類型
在ES(ECMAScript)6之前我們看到的大多數引用類型的值都是Object的實例
雖然Object類型並不具備多少功能,但是對於在應用程序中存儲和傳輸數據確實是非常理想的選擇
創建Ojebct實例方法:
1. 使用new操作符
var person = new Object(); person.age = 21; person.name = ‘lhy‘;
2.使用對象字面量
var person = { age:21, name:‘lhy‘ }
上面兩段代碼是等效的
在字面量的聲明方式中,左花括號{ 表示對象字面量的開始
因為處於等號的右邊,所以 { 處於表達式上下文中
表達式上下文中 { 表示一個表達式的開始,而位於一般的語句上下文中 { 表示代碼塊的開始
PS. 在早期的瀏覽器中,最後一個屬性後面帶逗號會報錯
還有一點比較重要的是:字面量的創建方法最好只在需要考慮對象可讀性的情況下使用,雖然字面量和new的方法是等效的,但是字面量創建對象時並不會調用Object()構造函數
基於以上描述,字面量由於其代碼量少、給人封裝數據的感覺,所以是我們給函數傳遞大量可選參數的首選方式
所以對函數的參數設計時,推薦將必須參數設為命名的變量,使用對象字面量來封裝可選參數
訪問對象
關於對象的訪問有兩種方式:
1. ‘.’操作符
2.中括號
從功能上來說兩者沒有區別,但是方括號可以通過變量來訪問屬性
所以對於 屬性中包含導致語法錯誤的字符、需要通過變量訪問等情形 可以使用方括號之外
其他的情況都不推薦使用中括號來訪問對象
Javascript高級編程學習筆記(12)—— 引用類型(1)Object類型