JS Object類型


引用類型的值(對象)是引用對象的一個實例。

在JS中,引用類型是一種數據結構,用於將數據和功能組織在一起。

引用類型有時也被稱為對象定義,因為它們描述的是一類對象所擁有的屬性和方法。

 

創建Object實例的的方式有兩種。

第一種是使用new操作符后跟Object構造函數,如下:

var person = new Object();    //創建Object引用類型的一個新實例,並且把該實例保存在變量person中。

person.name = "CC";

person.age = 23;

 

第二種方法是使用對象字面量表達式,對象字面量是對象定義的一種簡寫形式,目的在於簡化創建包含大量屬性的對象的過程。

var person = {

    name : "CC",

    age : 23

};

在JS中,表達式上下文指的是該上下文期待一個值(表達式);賦值操作符表示后面是一個值;所以左花括號({)在這里表示一個表達式的開始。

同樣的花括號,如果出現在語句上下文中,例如跟在if語句的后面,則表示一個語句塊的開始。

注意:對象字面量表達式中,屬性與值之間用冒號(:)連接;屬性與屬性之間用逗號(,)分割;最后一個屬性之后不需要逗號。

通過對象字面量表達式定義對象時,實際上不會調用Object函數。

如果需要向函數傳遞大量可選參數,對那些必需值使用命名參數,使用對象字面量表達式封裝多個可選參數。 

 

通常,訪問對象的屬性時使用的都是點表示法;不過,在JS中也可以使用方括號表示法來訪問對象的屬性。

在使用方括號語法時,應該將要訪問的屬性以字符串的形式放在方括號中。

方括號語法的主要優點是可以通過變量來訪問屬性;如果屬性中包含會導致語法錯誤的字符,或者屬性名使用的是關鍵字或保留字,也可以使用方括號表示法。

 

理解函數的參數

JS中的參數在內部是用一個數組來表示的。函數接收到的始終是這個數組。

在函數體內能夠通過arguments對象來訪問這個參數數組,從而獲取傳遞給函數的每一個參數。

arguments對象與數組類似,可以使用方括號語法訪問它的每一個元素,但它並不是Array的實例。

arguments[0]訪問第一個元素、arguments[1]訪問第二個元素。。。以此類推。。。

也就是說,下面兩個函數的功能完全一樣。

function sayHi (name,message) {

    alert("Hello " + arguments[0] + "," + arguments[1]);

};

等價於:

function sayHi (name, message) {

    alert("Hello " + name + "," + message);

};

這個事實,說明了JS中函數的一個重要特點:命名的參數只是提供便利,不是必需的。

通過訪問arguments對象的length屬性,可以獲知有多少參數傳遞給了函數。

arguments對象的length值是由傳入的參數的個數決定的,不是由定義函數時的命名參數的個數決定的。

arguments對象可以和命名參數一起使用。

arguments對象的值永遠與對應命名參數的值保持同步;它們的內存空間是獨立的,但是它們的值會同步。

參數始終是按值傳遞的,不可能通過引用傳遞參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM