摘要:創(chuàng)建對(duì)象的幾種方式,工廠模式,通過創(chuàng)建一個(gè)新的空的對(duì)象,再返回對(duì)象,構(gòu)造函數(shù)的方式構(gòu)造函數(shù)一般是以大寫字母開頭的,如下面的使用構(gòu)造函數(shù)的方式,還可以將對(duì)象文本傳遞給構(gòu)造函數(shù)作為參數(shù),以便用屬性方法填充它還可以寫成這樣,有個(gè)內(nèi)嵌的方法它允許您
創(chuàng)建對(duì)象的幾種方式:
1,工廠模式,(通過創(chuàng)建一個(gè)新的空的對(duì)象{},再返回對(duì)象):
function createNewPerson(name) { var obj = {}; obj.name = name; obj.greeting = function () { alert("Hi! I"m " + this.name + "."); } return obj; } var salva = createNewPerson("salva"); salva.name; salva.greeting();
2,構(gòu)造函數(shù)的方式(構(gòu)造函數(shù)一般是以大寫字母開頭的,如下面的Person):
function Person(name) { this.name = name; this.greeting = function() { alert("Hi! I"m " + this.name + "."); }; } var person1 = new Person("Bob"); var person2 = new Person("Sarah");
3,使用Object 構(gòu)造函數(shù)的方式
var person1 = new Object(); person1.name = "Chris"; person1["age"] = 38; person1.greeting = function() { alert("Hi! I"m " + this.name + "."); }
4,還可以將對(duì)象文本傳遞給Object() 構(gòu)造函數(shù)作為參數(shù), 以便用屬性/方法填充它:
var person1 = new Object({ name : "Chris", age : 38, greeting : function() { alert("Hi! I"m " + this.name + "."); } }); /** 還可以寫成這樣 var person1 = { name : "Chris", age : 38, greeting : function() { alert("Hi! I"m " + this.name + "."); } }; */
5,JavaScript有個(gè)內(nèi)嵌的方法create(), 它允許您基于現(xiàn)有對(duì)象創(chuàng)建新的對(duì)象實(shí)例。
var person2 = Object.create(person1); person2.name person2.greeting()
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/91792.html
摘要:構(gòu)造函數(shù)模式定義構(gòu)造函數(shù)模式是語(yǔ)言創(chuàng)建對(duì)象的通用方式。但兩種語(yǔ)言用構(gòu)造函數(shù)創(chuàng)建對(duì)象的方式略有不同在中沒有類的概念,函數(shù)即為一等公民,因此,不必顯式聲明某個(gè)類,直接創(chuàng)建構(gòu)造函數(shù)即可,類的方法和屬性在構(gòu)造函數(shù)中或原型對(duì)象上處理。 工廠模式 定義:工廠模式非常直觀,將創(chuàng)建對(duì)象的過程抽象為一個(gè)函數(shù),用函數(shù)封裝以特定接口創(chuàng)建對(duì)象的細(xì)節(jié)。通俗地講,工廠模式就是將創(chuàng)建對(duì)象的語(yǔ)句放在一個(gè)函數(shù)里,通...
摘要:前言雖然使用構(gòu)造函數(shù)或者使用對(duì)象字面量可以很方便的用來(lái)創(chuàng)建一個(gè)對(duì)象,但這種方式有一個(gè)明顯的缺點(diǎn)使用一個(gè)接口創(chuàng)建多個(gè)對(duì)象會(huì)產(chǎn)生很多冗余的代碼。即調(diào)用構(gòu)造函數(shù)所創(chuàng)建的那個(gè)對(duì)象的原型對(duì)象好處是可以讓所有對(duì)象的實(shí)例共享他的屬性的方法。 前言 雖然使用Object構(gòu)造函數(shù)或者使用對(duì)象字面量可以很方便的用來(lái)創(chuàng)建一個(gè)對(duì)象,但這種方式有一個(gè)明顯的缺點(diǎn):使用一個(gè)接口創(chuàng)建多個(gè)對(duì)象會(huì)產(chǎn)生很多冗余的代碼。因此...
摘要:的意思是,從字面意思來(lái)看是用了的方法,繼承原有的方法類,然后又添加了自己的某些私有方法。用來(lái)實(shí)現(xiàn)代碼如下的意思是,從字面意思來(lái)看是用了的方法。 世界上最遠(yuǎn)的距離不是生與死的距離,而是文檔就在你面前,你依然不知道這個(gè)庫(kù)怎么用。 鄙人IQ不高,已經(jīng)被Q.js虐了幾天。查看了github上kriskowal/q的文檔,現(xiàn)在把幾種看明白了的使用方法整理記錄下來(lái),以下幾種方法可以把nodejs中...
摘要:可以無(wú)數(shù)次地調(diào)用這個(gè)函數(shù),而每次它都會(huì)返回一個(gè)包含三個(gè)屬性一個(gè)方法的對(duì)象構(gòu)造函數(shù)模式原型模式組合使用構(gòu)造函數(shù)模式和原型模式創(chuàng)建自定義類型的最常見方式,就是組合使用構(gòu)造函數(shù)模式與原型模式。 JS中創(chuàng)建對(duì)象的主要模式有 工廠模式 工廠模式抽象了具體創(chuàng)建對(duì)象的過程例如 function?createPerson(name,?age,?job){ ????var?o?=?new?Object(...
摘要:三種使用構(gòu)造函數(shù)創(chuàng)建對(duì)象的方法和的作用都是在某個(gè)特殊對(duì)象的作用域中調(diào)用函數(shù)。這種方式還支持向構(gòu)造函數(shù)傳遞參數(shù)。叫法上把函數(shù)叫做構(gòu)造函數(shù),其他無(wú)區(qū)別適用情境可以在特殊的情況下用來(lái)為對(duì)象創(chuàng)建構(gòu)造函數(shù)。 一、工廠模式 工廠模式:使用字面量和object構(gòu)造函數(shù)會(huì)有很多重復(fù)代碼,在此基礎(chǔ)上改進(jìn)showImg(https://segmentfault.com/img/bVbmKxb?w=456&...
閱讀 895·2021-11-15 11:38
閱讀 2532·2021-09-08 09:45
閱讀 2830·2021-09-04 16:48
閱讀 2576·2019-08-30 15:54
閱讀 943·2019-08-30 13:57
閱讀 1629·2019-08-29 15:39
閱讀 508·2019-08-29 12:46
閱讀 3534·2019-08-26 13:39