- 相關(guān)推薦
關(guān)于深入理解JavaScript中的對(duì)象的介紹
JavaScript是一種面向?qū)ο缶幊?OOP)語言。一種編程語言可以被稱為面向?qū)ο蟮,它為開發(fā)者提供了四種基本功能:
封裝 - 存儲(chǔ)相關(guān)的信息,無論是數(shù)據(jù)或方法,還是對(duì)象 聚合 - 存儲(chǔ)一個(gè)對(duì)象到另一個(gè)對(duì)象的內(nèi)部 繼承 - 類的能力依賴于另一個(gè)類(或類數(shù)),用于其部分的屬性和方法 多態(tài)性 - 編寫函數(shù)或者方法,在各種不同的方式工作
對(duì)象是由屬性。如果屬性包含一個(gè)函數(shù),它被認(rèn)為是一個(gè)對(duì)象的方法,否則,該屬性被認(rèn)為是一個(gè)屬性。
對(duì)象屬性:
對(duì)象的屬性可以是任何三種基本數(shù)據(jù)類型的,或者任何抽象數(shù)據(jù)類型,如另一個(gè)對(duì)象。對(duì)象屬性通常是內(nèi)部使用的對(duì)象的方法的變量,但也可以是用于整個(gè)頁面全局可見的變量。
用于添加屬性的目的語法是:
objectName.objectProperty = propertyValue;
示例 :
下面是一個(gè)簡(jiǎn)單的例子來說明如何利用“稱號(hào)”的文件對(duì)象的屬性來獲取文檔標(biāo)題:
var str = document.title;
對(duì)象的方法:
方法是讓對(duì)象做某件事。一個(gè)函數(shù)和一個(gè)方法,所不同的是一個(gè) function語句的一個(gè)獨(dú)立的單元和方法被附加到對(duì)象,并可以通過這個(gè)關(guān)鍵字被引用之間的差別不大。
方法可用于一切從顯示對(duì)象的屏幕上的內(nèi)容,以對(duì)一組本地的屬性和參數(shù)執(zhí)行復(fù)雜的數(shù)學(xué)運(yùn)算是有用的。
例子:
下面是一個(gè)簡(jiǎn)單的例子來說明如何使用write()文檔對(duì)象的方法寫在文檔中的任何內(nèi)容:
document.write("This is test");
用戶定義的對(duì)象:
所有用戶定義的對(duì)象和內(nèi)置對(duì)象被稱為對(duì)象的對(duì)象的后代。
new 操作符:
new運(yùn)算符用于創(chuàng)建對(duì)象的實(shí)例。要?jiǎng)?chuàng)建一個(gè)對(duì)象,new運(yùn)算符后面是構(gòu)造方法。
在下面的例子中,構(gòu)造方法Object(), Array(), 和 Date().。這些構(gòu)造函數(shù)是內(nèi)置的 JavaScript 函數(shù)。
var employee = new Object();var books = new Array("C++", "Perl", "Java");var day = new Date("August 15, 1947");
Object() 構(gòu)造函數(shù):
構(gòu)造函數(shù)是用來創(chuàng)建和初始化對(duì)象的函數(shù)。 JavaScript提供了一個(gè)特殊的構(gòu)造函數(shù)調(diào)用Object()來構(gòu)建的對(duì)象。Object()構(gòu)造的返回值被分配給一個(gè)變量。
變量包含一個(gè)引用到新的對(duì)象。分配給該對(duì)象的屬性是不變量,并且不使用var關(guān)鍵字來定義。
示例 1:
這個(gè)例子演示了如何創(chuàng)建一個(gè)對(duì)象:
var book = new Object(); // Create the object book.subject = "Perl"; // Assign properties to the object book.author = "Mohtashim";
document.write("Book name is : " + book.subject + ""); document.write("Book author is : " + book.author + "");
示例 2:
這個(gè)例子演示如何創(chuàng)建一個(gè)對(duì)象,一個(gè)用戶定義的函數(shù)。此處this關(guān)鍵字用于指已傳遞給函數(shù)的對(duì)象:
function book(title, author){ this.title = title; this.author = author;}
var myBook = new book("Perl", "Mohtashim"); document.write("Book title is : " + myBook.title + ""); document.write("Book author is : " + myBook.author + "");
定義方法的對(duì)象:
前面的示例演示了如何構(gòu)造函數(shù)創(chuàng)建對(duì)象并分配屬性。但是,我們需要通過分配方法,以它來完成一個(gè)對(duì)象的定義。
例子:
下面是一個(gè)簡(jiǎn)單的例子來說明如何與一個(gè)對(duì)象添加一個(gè)函數(shù):
// Define a function which will work as a methodfunction addPrice(amount){ this.price = amount; }function book(title, author){ this.title = title; this.author = author; this.addPrice = addPrice; // Assign that method as property.}
var myBook = new book("Perl", "Mohtashim"); myBook.addPrice(100); document.write("Book title is : " + myBook.title + ""); document.write("Book author is : " + myBook.author + ""); document.write("Book price is : " + myBook.price + "");
with 關(guān)鍵字:
with關(guān)鍵字作為一種速記的引用對(duì)象的屬性或方法。
指定為參數(shù)的對(duì)象就成為接下來的塊的持續(xù)時(shí)間的默認(rèn)對(duì)象。為對(duì)象的屬性和方法可以在不命名的對(duì)象。
語法
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){ this.title = title; this.author = author; this.price = 0; this.addPrice = addPrice; // Assign that method as property.}
var myBook = new book("Perl", "Mohtashim"); myBook.addPrice(100); document.write("Book title is : " + myBook.title + ""); document.write("Book author is : " + myBook.author + ""); document.write("Book price is : " + myBook.price + "");
【深入理解JavaScript中的對(duì)象的介紹】相關(guān)文章:
javascript面向?qū)ο笾械膶?duì)象怎么理解09-02
有關(guān)深入理解JavaScript中的并行處理的介紹10-14
對(duì)javascript的理解08-08
淺談javascript中的單線程理解08-16
Javascript中arguments對(duì)象的詳解和使用方法08-20
淺談如何深入學(xué)習(xí)Javascript中的this關(guān)鍵字08-19
理解JavaScript原型鏈教程09-02