成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

javascript設(shè)計(jì)模式與開發(fā)實(shí)踐全書深度解析(一)之單例模式

xioqua / 2510人閱讀

摘要:所以程序在引入文件的時(shí)候用了單例模式,一個(gè)文件實(shí)例化一次,這種做法無疑是好的,但是也容易引起。在我們平時(shí)的開發(fā)過程中,可以借鑒這兩種方式去緩存變量,節(jié)點(diǎn)等。

這一章作者講了一個(gè)例子,就是在用單例模式生成一個(gè)dom節(jié)點(diǎn),還要做到只有訪問的時(shí)候才創(chuàng)建,后續(xù)訪問直接用前面創(chuàng)建的。
那么實(shí)際開發(fā)中我們會用到這個(gè)模式嗎?
現(xiàn)在我們基本都是用vue,react,angular開發(fā),不太會直接去操作dom。那這個(gè)給我們的意義在哪里呢?
其實(shí)吧,如果你寫react,你會發(fā)現(xiàn)單例無處不在。
比如你設(shè)置一個(gè)antd的modal,一般情況下你會通過設(shè)置visible去顯示或者隱藏modal。其實(shí)這個(gè)modal可以說是單例模式,因?yàn)樗粍?chuàng)建了一次,每次關(guān)閉只是改變了css樣式的display。目的是為了優(yōu)化性能不用每次去創(chuàng)建一個(gè)dom。
還有就是你在文件中引入的變量也是單例。
比如a.js文件中

export const fruits = ["apple", "banana", "pear"];

當(dāng)你在某個(gè)組件里面引入這個(gè)變量。那么如果你改變它

import {fruits} from "./a.js";

fruits.push("grape");

那么當(dāng)頁面沒刷新,所有引用的地方都會被改變,這時(shí)很容易引起的bug。
所以程序在引入文件的時(shí)候用了單例模式,一個(gè)文件實(shí)例化一次,這種做法無疑是好的,但是也容易引起bug。
在我們平時(shí)的開發(fā)過程中,可以借鑒這兩種方式去緩存變量,節(jié)點(diǎn)等。但是也要注意不要隨意改變。

上一章-前言

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109366.html

相關(guān)文章

  • JavaScript設(shè)計(jì)模式開發(fā)實(shí)踐系列單例模式

    摘要:本系列為設(shè)計(jì)模式與開發(fā)實(shí)踐作者曾探學(xué)習(xí)總結(jié),如想深入了解,請支持作者原版單例模式實(shí)現(xiàn)單例模式單例模式的定義是保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。 本系列為《JavaScript設(shè)計(jì)模式與開發(fā)實(shí)踐》(作者:曾探)學(xué)習(xí)總結(jié),如想深入了解,請支持作者原版 單例模式 實(shí)現(xiàn)單例模式 單例模式的定義是:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。單例模式是一種常用的模式...

    Airy 評論0 收藏0
  • javascript設(shè)計(jì)模式開發(fā)實(shí)踐全書深度解析)之前言

    摘要:相信很多人都看過設(shè)計(jì)模式與開發(fā)實(shí)踐這本書,每個(gè)人都有自己的體會感受,作為前端年開發(fā)經(jīng)驗(yàn)的程序猿,用我自認(rèn)為還可以的實(shí)踐經(jīng)驗(yàn)來與大家談?wù)勥@本書。這章是前言,后面陸續(xù)會講解每個(gè)設(shè)計(jì)模式。 相信很多人都看過《javascript設(shè)計(jì)模式與開發(fā)實(shí)踐》這本書,每個(gè)人都有自己的體會感受,作為前端3年開發(fā)經(jīng)驗(yàn)的程序猿,用我自認(rèn)為還可以的實(shí)踐經(jīng)驗(yàn)來與大家談?wù)勥@本書。這章是前言,后面陸續(xù)會講解每個(gè)設(shè)計(jì)模...

    timger 評論0 收藏0
  • 設(shè)計(jì)模式單例模式

    摘要:最佳實(shí)踐使用代理方式實(shí)現(xiàn)單例模式,使用一個(gè)代理函數(shù)來實(shí)現(xiàn)實(shí)單例例化原生的代碼摘自設(shè)計(jì)模式與開發(fā)實(shí)踐下來代理類測試函數(shù)返回版的用實(shí)現(xiàn)的單例模式代碼已創(chuàng)建張三李四返回 說明:只要實(shí)例化一次,超過一次的實(shí)例化過程會返回之前實(shí)例化的結(jié)果,而不會在內(nèi)存中再次寫入新的實(shí)例對象。----類似于once。 需要遵守的原則:單一職責(zé)的原則,每一個(gè)類或者函數(shù)只負(fù)責(zé)一個(gè)功能。 最佳實(shí)踐:使用代理方式實(shí)現(xiàn)單例...

    whinc 評論0 收藏0
  • 程序語言

    摘要:一面應(yīng)該還問了其他內(nèi)容,但是兩次面試多線程面試問題和答案采訪中,我們通常會遇到兩個(gè)主題采集問題和多線程面試問題。多線程是關(guān)于并發(fā)和線程的。我們正在共享重要的多線程面試問題和答案。。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 【碼農(nóng)每日一題】Java 內(nèi)部類(Part 2)相關(guān)面試題 關(guān)注一下嘛,又不讓你背鍋!問:Ja...

    mtunique 評論0 收藏0
  • 程序語言

    摘要:一面應(yīng)該還問了其他內(nèi)容,但是兩次面試多線程面試問題和答案采訪中,我們通常會遇到兩個(gè)主題采集問題和多線程面試問題。多線程是關(guān)于并發(fā)和線程的。我們正在共享重要的多線程面試問題和答案。。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 【碼農(nóng)每日一題】Java 內(nèi)部類(Part 2)相關(guān)面試題 關(guān)注一下嘛,又不讓你背鍋!問:Ja...

    stefan 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<