第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用單例模式而提出的一個問題

使用單例模式而提出的一個問題

冉冉說 2018-12-19 18:19:21
  var Singleton = function(name) {    this.name = name;    this.instance = null;  };  Singleton.prototype.getName = function() {    alert(this.name);  };  Singleton.getInstance = function(name) {    if(!this.instance) {      this.instance = new Singleton(name);    }    return this.instance;  };  var a = Singleton.getInstance('sven1');  var b = Singleton.getInstance('sven2');  console.log(a === b); // true代碼中的Singleton.prototype.getName和Singleton.getInstance倆個函數(shù)之間的區(qū)別是什么呢?Javascript沒學(xué)好,望大佬解疑,謝謝!~
查看完整描述

1 回答

?
慕田峪4524236

TA貢獻1875條經(jīng)驗 獲得超5個贊

1 Singleton.prototype.getName Singleton.prototype也是對象 相當(dāng)于這個對象(Singleton.prototype)身上的getName 方法
2 Singleton.getInstance Singleton 這個對象上的方法 getInstance 
var a = Singleton.getInstance('sven1') 相當(dāng)于這個 Singleton 這個對象上的方法 getInstance 每次調(diào)用 那指向相同的引用 因為this.instance 在這個對象

https://img1.sycdn.imooc.com//5c3306c60001e88802640066.jpg

內(nèi)部 每次雖然傳的參數(shù)不一樣 但是引用都是一個 Singleton

所以 傳不同名字 比如下圖 b c d

https://img1.sycdn.imooc.com//5c3306cf000105e605080469.jpg

查看完整回答
反對 回復(fù) 2019-01-07
  • 1 回答
  • 0 關(guān)注
  • 520 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號