摘要:創(chuàng)建構(gòu)造函數(shù)對(duì)象有屬性和方法,如果多個(gè)函數(shù)的屬性和方法均相似,我們就可以將其歸為一個(gè)類(lèi),使用的時(shí)候,就可以直接調(diào)用。要設(shè)置專(zhuān)屬屬性和方法,很簡(jiǎn)單,直接在構(gòu)造函數(shù)內(nèi)添加就行了創(chuàng)建專(zhuān)屬屬性創(chuàng)建專(zhuān)屬方法
構(gòu)造函數(shù)
使自己的對(duì)象多次復(fù)制,同時(shí)實(shí)例根據(jù)設(shè)置的訪問(wèn)等級(jí)可以訪問(wèn)其內(nèi)部的屬性和方法
當(dāng)對(duì)象被實(shí)例化后,構(gòu)造函數(shù)會(huì)立即執(zhí)行它所包含的任何代碼
創(chuàng)建構(gòu)造函數(shù)一般我們創(chuàng)建一個(gè)對(duì)象,最直接的方法就是var object{屬性,方法}。最簡(jiǎn)單最方便。但是這樣有一個(gè)缺點(diǎn),就是如果要?jiǎng)?chuàng)建很多的對(duì)象,如果一個(gè)一個(gè)的創(chuàng)建的話,會(huì)很繁瑣,重復(fù)的工作太多了。這時(shí)候就可以使用構(gòu)造函數(shù)。
對(duì)象有屬性和方法,如果多個(gè)函數(shù)的屬性和方法均相似,我們就可以將其歸為一個(gè)類(lèi),使用的時(shí)候,就可以直接調(diào)用。
//創(chuàng)建類(lèi) //構(gòu)造函數(shù)的函數(shù)名首字母要大寫(xiě) function St(name,sex,age){ this.name=name; this.sex=sex; this.age=age; } St.prototype.run=function(){ console.log("we are students") } //創(chuàng)建函數(shù) var Liming=new St("Liming","man","20") var Hanmeimei=new St("Hanmeimei","female","21"); console.log(Limming.name)//Liming console.log(Hanmeimei.age)//21 console.log(Liming.run())//we are students構(gòu)造函數(shù)的繼承性
我們想創(chuàng)建一個(gè)新的類(lèi),使新的類(lèi)可以調(diào)用之前的類(lèi)的屬性和方法
function Te(name,sex,age){ //調(diào)用St類(lèi)的屬性 St.apply(this.arguments); } Te.prototype=Object.create(St.prototype);//調(diào)用St類(lèi)的方法 var Jack=new Te("Jack","man","30"); console.log(Jack.sex)//man
實(shí)際上,Te類(lèi)是St類(lèi)的子類(lèi),是父子關(guān)系,子類(lèi)可以繼承父類(lèi)的元素和方法。
當(dāng)然,子類(lèi)的屬性和方法不可能都和父類(lèi)一樣,子類(lèi)也會(huì)有專(zhuān)屬于自己的屬性以及方法。要設(shè)置專(zhuān)屬屬性和方法,很簡(jiǎn)單,直接在構(gòu)造函數(shù)內(nèi)添加就行了
function Te(name,sex,age,height){ St.apply(this.arguments); //創(chuàng)建專(zhuān)屬屬性 this.height=height } Te.prototype=Object.create(St.prototype); //創(chuàng)建專(zhuān)屬方法 Te.prototype.teach=function(){ conslole.log("I"m a teacher") } var Jack=new Te("Jack","man","30","180"); console.log(Jack.sex)//man console.log(Jack.height)//180 console.log(jack.teach())//I"m a teacherEND
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84999.html
摘要:在上面的各種原型的變換中,其實(shí)難點(diǎn)就在于構(gòu)造函數(shù)也是對(duì)象原型對(duì)象等所有對(duì)象都由構(gòu)造這四個(gè)點(diǎn)。 這篇文章主要是學(xué)習(xí)一下JavaScript中的難點(diǎn)------原型和原型鏈 自定義一個(gè)對(duì)象 我們學(xué)習(xí)一門(mén)編程語(yǔ)言,必然要使用它完成一些特定的功能,而面向?qū)ο蟮恼Z(yǔ)言因?yàn)榉先祟?lèi)的認(rèn)知規(guī)律,在這方面做得很好,今天我以JS為例,探索一下JS不同于其他面向?qū)ο蟮恼Z(yǔ)言的地方-------原型和原型鏈 首...
摘要:在上面的各種原型的變換中,其實(shí)難點(diǎn)就在于構(gòu)造函數(shù)也是對(duì)象原型對(duì)象等所有對(duì)象都由構(gòu)造這四個(gè)點(diǎn)。 這篇文章主要是學(xué)習(xí)一下JavaScript中的難點(diǎn)------原型和原型鏈 自定義一個(gè)對(duì)象 我們學(xué)習(xí)一門(mén)編程語(yǔ)言,必然要使用它完成一些特定的功能,而面向?qū)ο蟮恼Z(yǔ)言因?yàn)榉先祟?lèi)的認(rèn)知規(guī)律,在這方面做得很好,今天我以JS為例,探索一下JS不同于其他面向?qū)ο蟮恼Z(yǔ)言的地方-------原型和原型鏈 首...
摘要:對(duì)象重新認(rèn)識(shí)面向?qū)ο竺嫦驅(qū)ο髲脑O(shè)計(jì)模式上看,對(duì)象是計(jì)算機(jī)抽象現(xiàn)實(shí)世界的一種方式。除了字面式聲明方式之外,允許通過(guò)構(gòu)造器創(chuàng)建對(duì)象。每個(gè)構(gòu)造器實(shí)際上是一個(gè)函數(shù)對(duì)象該函數(shù)對(duì)象含有一個(gè)屬性用于實(shí)現(xiàn)基于原型的繼承和共享屬性。 title: JS對(duì)象(1)重新認(rèn)識(shí)面向?qū)ο? date: 2016-10-05 tags: JavaScript 0x00 面向?qū)ο?從設(shè)計(jì)模式上看,對(duì)象是...
摘要:函數(shù)對(duì)象連接到。好處有助于確保全局名字空間的純凈性私有性保留了自己的函數(shù),不為外部應(yīng)用程序所用返回自己的函數(shù)函數(shù)始終有一個(gè)返回值,即便不是顯示返回,它們會(huì)隱式返回一個(gè)。 函數(shù) 概念: 函數(shù)包含一組語(yǔ)句,它們是javaScript基礎(chǔ)模塊單元,用于代碼復(fù)用、信息隱藏和組合調(diào)用。用于指定對(duì)象的行為。 函數(shù)對(duì)象: javascrtipt中的函數(shù)就是對(duì)象。對(duì)象是‘名/值’對(duì)的集合并擁有一個(gè)連...
閱讀 2622·2021-09-28 09:35
閱讀 3268·2021-09-03 10:28
閱讀 2921·2019-08-30 15:43
閱讀 1485·2019-08-30 14:04
閱讀 1818·2019-08-29 17:02
閱讀 1822·2019-08-26 13:59
閱讀 702·2019-08-26 11:51
閱讀 3265·2019-08-23 17:16