7.構(gòu)造函數(shù)的返回值、 工廠模式芬失、 觀察者模式楣黍、 單例模式

ES5數(shù)組新增的3個方法

1、forEach

  • 作用:幫我們遍歷數(shù)組棱烂,每遍歷到一個值租漂,就會調(diào)用一次回調(diào),把這個值與它的下標(biāo)傳遞過去
  • 語法:數(shù)組.forEach(function(v, i){ console.log('使用forEach幫我們遍歷好的值與下標(biāo)') })
  • 返回值:undefined

2颊糜、 map

  • 作用:可以用來代替forEach哩治,但是map可以接收回調(diào)的返回值,最終通過一組數(shù)據(jù)映射為回調(diào)返回的另外一組數(shù)據(jù)
  • 語法:var mapArr = 數(shù)組.map(function(v, i){ return v * v })
  • 返回值:回調(diào)所有的返回值組成的新數(shù)組

3衬鱼、 filter

  • 作用:可以用來代替forEach业筏,但是還可以過濾數(shù)組中的值
  • 語法:var filterArr = 數(shù)組.filter(function(v, i){ if(v % 2 ==0){ return true; } })
  • 返回值:所有返回回調(diào)返回true的對應(yīng)值組成的新數(shù)組

call&apply的補(bǔ)充

  • 如果不傳參 ==> this指向window
  • 傳null ==> this指向window
  • 傳undefined ==> this指向window
  • 傳123 ==> this指向123的包裝類型對象(Number對象)
  • 傳'abc' ==> this指向'abc'的包裝類型對象(String對象)
  • 傳true ==> this指向true的包裝類型對象(Boolean對象)
  • 傳對象 ==> this指向傳入的對象

構(gòu)造函數(shù)的返回值

  • 如果構(gòu)造函數(shù)沒有return語句,那么new它鸟赫,得到一個新實(shí)例
  • 如果構(gòu)造函數(shù)return了一些基本類型數(shù)據(jù)蒜胖,那么new它,得到一個新實(shí)例
  • 如果構(gòu)造函數(shù)return了一個對象抛蚤,那么new它台谢,得到return的對象

嚴(yán)格模式

  • ES5新增的一個特性,使用該特性可以讓js以一種新的模式運(yùn)行js腳本岁经。
  • 該模式下可以強(qiáng)制我們拋棄那些不推薦不友好的寫法
  • 該模式下可以讓js之前的一些設(shè)計(jì)不太合理的api表現(xiàn)的合理一些
  • 該模式下可以讓js擁有一些新的特性朋沮,比如ES6/ES7規(guī)范中定義的某些語法,必須在嚴(yán)格模式下才有效

嚴(yán)格模式的分類

  • 全局模式
    • 在全局代碼的最上面書寫一句話'use strict';
    • 使用該模式缀壤,所有的代碼都按照嚴(yán)格模式執(zhí)行
  • 局部模式
    • 在函數(shù)內(nèi)部的最上面書寫一句話'use strict';
    • 使用該模式樊拓,只有該函數(shù)內(nèi)的代碼才會按照嚴(yán)格模式執(zhí)行

需要記住的幾條嚴(yán)格模式規(guī)則

  • 定義變量必須使用var
  • 函數(shù)調(diào)用模式this為undefined
  • 真正實(shí)現(xiàn)了call誰this就為誰
  • eval擁有了單獨(dú)的作用域

沙箱模式

  • 使用某種方式纠亚,防止一些代碼對外界環(huán)境造成潛在影響,這類代碼就可以認(rèn)為是沙箱模式
  • 在js中筋夏,最簡單的沙箱模式寫法蒂胞,就是使用一個自調(diào)函數(shù)把某塊代碼進(jìn)行封裝,可以防止全局變量污染

工廠模式

  • 凡是調(diào)用一個函數(shù)条篷,函數(shù)返回一個對象啤誊,那么這個函數(shù)就可以認(rèn)為是一個工廠。
  • 在js中拥娄,一般的工廠都是把new對象的過程進(jìn)行了一個封裝。

單例模式

  • 只要讓某種類型的實(shí)例瞳筏,只能存在一個稚瘾,實(shí)現(xiàn)這種需求的代碼就是單例模式
  • 在js中,JSON與Math對象就被設(shè)計(jì)為單例模式姚炕,我們不能夠創(chuàng)建第二個這種類型的對象。

觀察者模式 -- 發(fā)布訂閱模式

  • 只要某事件發(fā)生后,會自動執(zhí)行預(yù)設(shè)好的回調(diào)陡厘,那么實(shí)現(xiàn)這種需求的代碼就是觀察者模式
  • 觀察者模式可以認(rèn)為就是自定義事件
  • 觀察者模式通常使用的場景是這樣的:某對象做了某件事灭必,其他對象做出相應(yīng)的一個響應(yīng)

bind

  • ES5提供了一個新的可以改變函數(shù)this指向的新函數(shù)
  • 作用:通過某函數(shù)得到一個綁定了固定this的新函數(shù),這個新函數(shù)可以是舊函數(shù)的clone版本
  • 語法:var bindFn = 函數(shù).bind(this)
  • 返回值:綁定了this的函數(shù)

類成員&實(shí)例成員

  • 類成員
    • 添加給類自己的屬性與方法
  • 實(shí)例成員
    • 添加給實(shí)例自己的屬性與方法
    • 原型上供實(shí)例使用的屬性與方法
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末掸刊,一起剝皮案震驚了整個濱河市免糕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌忧侧,老刑警劉巖石窑,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蚓炬,居然都是意外死亡松逊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門肯夏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來经宏,“玉大人,你說我怎么就攤上這事驯击∷咐迹” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵余耽,是天一觀的道長缚柏。 經(jīng)常有香客問我,道長碟贾,這世上最難降的妖魔是什么币喧? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任轨域,我火速辦了婚禮,結(jié)果婚禮上杀餐,老公的妹妹穿的比我還像新娘干发。我一直安慰自己,他們只是感情好史翘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布枉长。 她就那樣靜靜地躺著,像睡著了一般琼讽。 火紅的嫁衣襯著肌膚如雪必峰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天钻蹬,我揣著相機(jī)與錄音吼蚁,去河邊找鬼。 笑死问欠,一個胖子當(dāng)著我的面吹牛肝匆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顺献,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼旗国,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了注整?” 一聲冷哼從身側(cè)響起能曾,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎设捐,沒想到半個月后借浊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡萝招,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年蚂斤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片槐沼。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡曙蒸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出岗钩,到底是詐尸還是另有隱情纽窟,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布兼吓,位于F島的核電站臂港,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜审孽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一县袱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧佑力,春花似錦式散、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至编饺,卻和暖如春乖篷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背透且。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工那伐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人石蔗。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像畅形,于是被迫代替她去往敵國和親养距。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,233評論 0 4
  • 從什么都沒有的地方,到什么都沒有的地方竖席。 走馬說耘纱,她想回家了。她說毕荐,帝都這座城束析,她再也不想來了。 我認(rèn)識她的時候憎亚,...
    林斯野閱讀 1,649評論 0 0
  • 去做你想做的 趁陽光正好 不浪費(fèi)時間 不揮霍時光 不沉迷過去 不恐懼未來
    月缺不美卻詩意閱讀 161評論 0 1
  • “三月賞櫻员寇,唯有武大”,如果你還不知道三月該去哪兒第美,那就來武漢赴一場浪漫的櫻花之約吧蝶锋。行走在武大的校園內(nèi),陽光傾瀉...
    好吃的呆獸閱讀 240評論 0 1