淺談原型對(duì)象的常用開發(fā)模式
1、構(gòu)造函數(shù)和原型組合使用模式:原型對(duì)象雖然可以對(duì)所有實(shí)例的屬性和方法共享,但是也有它的局限性,正是因?yàn)榭梢怨蚕?,也?dǎo)致某一個(gè)實(shí)例對(duì)象若改變了共享的屬性和方法,其他對(duì)象在使用時(shí)會(huì)收到影響。
所以可以組合使用構(gòu)造函數(shù)式和原型模式,在實(shí)際開發(fā)中這種模式也應(yīng)用的最為廣泛。
2、動(dòng)態(tài)原型模式:就是把屬性和方法都封裝到構(gòu)造函數(shù)中
例如:
function Person(name,age,sex){ this.name=name; this.age=age; this.sex=sex; if(typeof this.sayName!=="function"){ Person.prototype.sayName=function(){ console.log(this.name); } } }
3、穩(wěn)妥構(gòu)造函數(shù)模式:由道格拉斯提出的,就是沒有公共屬性,也不實(shí)用this和new,穩(wěn)妥模式最適合在安全的環(huán)境中使用,如果程序?qū)τ诎踩缘囊蠛芨?,那么非常適合這種模式。
例如:
function Person(name,age){ var obj=new Object(); obj.name=name; obj.age=age; obj.sayName=function(){ console.log(this.name); } return obj; }
以上這篇淺談原型對(duì)象的常用開發(fā)模式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Javascript中構(gòu)造函數(shù)要注意的一些坑
JavaScript語(yǔ)言是一門面向?qū)ο蟮恼Z(yǔ)言,但JS中并沒有類的概念的。于是JavaScript采用構(gòu)造函數(shù)的方式來模擬類的效果,即我們通過函數(shù)來創(chuàng)建對(duì)象。這也證明了函數(shù)在JavaScript中具有非常重要的地位。本文主要介紹了Javascript中構(gòu)造函數(shù)的一些坑,需要的朋友可以參考。2017-01-01JavaScript設(shè)置body高度為瀏覽器高度的方法
這篇文章主要介紹了JavaScript設(shè)置body高度為瀏覽器高度的方法,實(shí)例分析了body高度的設(shè)置技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02通用javascript腳本函數(shù)庫(kù) 方便開發(fā)
javascript 在 WEB 編程中能起到很大的作用,將一些常用的功能寫成javascript類庫(kù)。2009-10-10常見瀏覽器多長(zhǎng)時(shí)間會(huì)提示“腳本運(yùn)行時(shí)間過長(zhǎng)”總結(jié)
這篇文章主要介紹了常見瀏覽器多長(zhǎng)時(shí)間會(huì)提示“腳本運(yùn)行時(shí)間過長(zhǎng)”總結(jié),需要的朋友可以參考下2014-04-04javascript語(yǔ)句中的CDATA標(biāo)簽的意義
javascript語(yǔ)句中的CDATA標(biāo)簽的意義...2007-05-05基于JS實(shí)現(xiàn)蜘蛛俠動(dòng)作游戲的示例代碼
這篇文章主要介紹了如何利用JavaScript實(shí)現(xiàn)簡(jiǎn)單的蜘蛛俠動(dòng)作游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript游戲開發(fā)有一定的幫助,需要的可以參考一下2022-06-06詳解ES6之用let聲明變量以及l(fā)et loop機(jī)制
本篇文章主要介紹了詳解ES6之用let聲明變量以及l(fā)et loop機(jī)制,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07