當前位置:才華齋>設計>網頁設計>

關於深入理解JavaScript中的物件的介紹

網頁設計 閱讀(1.05W)

JavaScript是一種面向物件程式設計(OOP)語言。一種程式語言可以被稱為面向物件的,它為開發者提供了四種基本功能:

關於深入理解JavaScript中的物件的介紹

封裝 - 儲存相關的資訊,無論是資料或方法,還是物件 聚合 - 儲存一個物件到另一個物件的內部 繼承 - 類的能力依賴於另一個類(或類數),用於其部分的屬性和方法 多型性 - 編寫函式或者方法,在各種不同的方式工作

物件是由屬性。如果屬性包含一個函式,它被認為是一個物件的方法,否則,該屬性被認為是一個屬性。

物件屬性:

物件的屬性可以是任何三種基本資料型別的,或者任何抽象資料型別,如另一個物件。物件屬性通常是內部使用的物件的方法的變數,但也可以是用於整個頁面全域性可見的變數。

用於新增屬性的目的語法是:

ctProperty = propertyValue;

示例 :

下面是一個簡單的例子來說明如何利用“稱號”的檔案物件的屬性來獲取文件標題:

var str = e;

物件的方法:

方法是讓物件做某件事。一個函式和一個方法,所不同的是一個 function語句的一個獨立的單元和方法被附加到物件,並可以通過這個關鍵字被引用之間的`差別不大。

方法可用於一切從顯示物件的螢幕上的內容,以對一組本地的屬性和引數執行復雜的數學運算是有用的。

例子:

下面是一個簡單的例子來說明如何使用write()文件物件的方法寫在文件中的任何內容:

e("This is test");

使用者定義的物件:

所有使用者定義的物件和內建物件被稱為物件的物件的後代。

new 操作符:

new運算子用於建立物件的例項。要建立一個物件,new運算子後面是構造方法。

在下面的例子中,構造方法Object(), Array(), 和 Date().。這些建構函式是內建的 JavaScript 函式。

var employee = new Object();var books = new Array("C++", "Perl", "Java");var day = new Date("August 15, 1947");

Object() 建構函式:

建構函式是用來建立和初始化物件的函式。 JavaScript提供了一個特殊的建構函式呼叫Object()來構建的物件。Object()構造的返回值被分配給一個變數。

變數包含一個引用到新的物件。分配給該物件的屬性是不變數,並且不使用var關鍵字來定義。

示例 1:

這個例子演示瞭如何建立一個物件:

var book = new Object(); // Create the object ect = "Perl"; // Assign properties to the object or = "Mohtashim";

e("Book name is : " + ect + ""); e("Book author is : " + or + "");

示例 2:

這個例子演示如何建立一個物件,一個使用者定義的函式。此處this關鍵字用於指已傳遞給函式的物件:

function book(title, author){ e = title; or = author;}

var myBook = new book("Perl", "Mohtashim"); e("Book title is : " + e + ""); e("Book author is : " + or + "");

定義方法的物件:

前面的示例演示瞭如何建構函式建立物件並分配屬性。但是,我們需要通過分配方法,以它來完成一個物件的定義。

例子:

下面是一個簡單的例子來說明如何與一個物件新增一個函式:

// Define a function which will work as a methodfunction addPrice(amount){ e = amount; }function book(title, author){ e = title; or = author; rice = addPrice; // Assign that method as property.}

var myBook = new book("Perl", "Mohtashim"); rice(100); e("Book title is : " + e + ""); e("Book author is : " + or + ""); e("Book price is : " + e + "");

with 關鍵字:

with關鍵字作為一種速記的引用物件的屬性或方法。

指定為引數的物件就成為接下來的塊的持續時間的預設物件。為物件的屬性和方法可以在不命名的物件。

語法

with (object){ properties used without the object name and dot}

例子:

// Define a function which will work as a methodfunction addPrice(amount){ with(this){ price = amount; }}function book(title, author){ e = title; or = author; e = 0; rice = addPrice; // Assign that method as property.}

var myBook = new book("Perl", "Mohtashim"); rice(100); e("Book title is : " + e + ""); e("Book author is : " + or + ""); e("Book price is : " + e + "");