【Javascript】javascript學習 三十六 建立你自己的 JavaScript 對象

來源:互聯網
上載者:User
文章目錄
  • 屬性
  • 方法
  • 1. 建立對象的執行個體
  • 2. 建立對象的模版

對象有助於組織資訊。

執行個體
建立對象的執行個體
本例向您展示如何建立 JavaCript 對象的執行個體 (instance)。
建立用於對象的模板
本例向您展示如何建立 JavaCript 對象的模板 (template)。
JavaScript 對象

在本教程前面的章節,我們已經學習到 JavaScript 擁有若干內建的對象,比如 String、Date、Array 等等。除了這些對象,你還可以建立自己的對象。

對象僅僅是一種特殊的資料類型而已,並擁有一系列的屬性和方法。

讓我們用一個例子來理解:一個人就是一個對象。屬性是和對象有關的值。人的屬性包括其名字、身高、體重、年紀、膚色、眼睛的顏色等等。所有的人都有這些屬性,但是每個人的屬性的值卻各不相同。對象也擁有方法。方法是可施加於對象上的行為。人的方法可能是吃、睡、工作、玩等等。

屬性

訪問對象的屬性的方法:

對象名.屬性名稱

通過簡單地向屬性賦值,你就可以向對象添加屬性。假定存在 personObj 這個對象 - 你可以添加諸如 firstname、lastname、age 以及 eyecolor 等屬性。

personObj.firstname="John"personObj.lastname="Doe"personObj.age=30personObj.eyecolor="blue"document.write(personObj.firstname)

上面的代碼產生以下的輸出:

John
方法

對象可包含方法。

使用下面的文法來調用方法:

對象名.方法名()

注意:位於括弧之間的用於方法的參數是可以省略的。

調用名為 sleep 的 personObj 對象的方法:

personObj.sleep()
建立你自己的對象

有多種不同的辦法來建立對象:

1. 建立對象的執行個體

下列代碼建立了一個對象的執行個體,並向其添加了四個屬性:

personObj=new Object()personObj.firstname="John"personObj.lastname="Doe"personObj.age=50personObj.eyecolor="blue"

向 personObj 添加方法也很簡單。下列代碼向 personObj 添加了名為 eat() 的方法:

personObj.eat=eat
2. 建立對象的模版

模版定義了對象的結構。

function person(firstname,lastname,age,eyecolor){this.firstname=firstnamethis.lastname=lastnamethis.age=agethis.eyecolor=eyecolor}

注意:模版僅僅是一個函數。你需要在函數內部向 this.propertiName 分配內容。

一旦擁有模版,你就可以建立新的執行個體,就像這樣:

myFather=new person("John","Doe",50,"blue")myMother=new person("Sally","Rally",48,"green")

同樣可以向 person 對象添加某些方法。並且同樣需要在模版內進行操作:

function person(firstname,lastname,age,eyecolor){this.firstname=firstnamethis.lastname=lastnamethis.age=agethis.eyecolor=eyecolorthis.newlastname=newlastname}

注意:方法只是依附於對象的函數而已。然後,我們需要編寫 newlastname() 函數:

function newlastname(new_lastname){this.lastname=new_lastname}

Newlastname() 函數定義 person 的新的 lastname,並將之分配給 person。通過使用 “this.”,JavaScript 即可得知你指的 person 是誰。因此,現在你可以這樣寫:myMother.newlastname("Doe")。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.