" />

欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript設計模式之工廠模式

 更新時間:2022年01月11日 15:11:58   作者:妖怪不慌不張  
這篇文章主要為大家介紹了javascript工廠模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

介紹

  • 將new操作單獨封裝
  • 遇到new時,就要考慮是否應該使用工廠模式
  • 比如買漢堡:直接點餐、取餐,我們不會親手做,商店要“封裝”做漢堡的工作,做好直接給買者

UML類圖

在這里插入圖片描述

直接上工廠模式的代碼

class Product {
	constructor(name} {
		this.name = name
	}
	init() {console.log('init')}
	fun1() {console.log('fun1')}
	fun2() {console.log('fun2')}
}
// 此處的Creator就是工廠
class Creator {
	create(name) {
		// 此處返回的是實例,工廠模式的特點
		return new Procuct(name)
	}
}
// 運行代碼
let creator = new Creator()
let p = creator.create('p1')
p.init()
p.fun1()
p.fun2()

工廠模式的場景

Jquery - $(‘div’)

// jquery 代碼為工廠模式
class jQuery {
    constructor(selector) {
        let slice = Array.prototype.slice
        let dom = slice.call(document.querySelectorAll(selector))
        let len = dom ? dom.length : 0
        for (let i = 0; i < len; i++) {
            this[i] = dom[i]
        }
        this.length = len
        this.selector = selector || ''
    }
    append(node) {}
    addClass(name) {}
    html(data) {}
    // 此處省略若干 API
}
window.$ = function (selector) {
    return new jQuery(selector)
}

React.createElement (創(chuàng)建虛擬dom的實例)

在這里插入圖片描述

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

相關文章

  • javascript instanceof 與typeof使用說明

    javascript instanceof 與typeof使用說明

    instanceof和typeof都能用來判斷一個變量是否為空或是什么類型的變量。
    2010-01-01
  • javascript數(shù)組定義的幾種方法

    javascript數(shù)組定義的幾種方法

    這篇文章主要介紹了javascript數(shù)組定義的幾種方法,一般來說分為隱式創(chuàng)建、直接實例化、創(chuàng)建數(shù)組并指定長度、后來為了方便直接使用json格式定義數(shù)組,這里腳本之家小編就為大家介紹一下,需要的朋友可以參考一下
    2017-10-10
  • 詳解JavaScript正則表達式中的global屬性的使用

    詳解JavaScript正則表達式中的global屬性的使用

    這篇文章主要介紹了詳解JavaScript正則表達式中的global屬性的使用,是JS學習進階中的重要知識點,需要的朋友可以參考下
    2015-06-06
  • JavaScript基礎語法、dom操作樹及document對象

    JavaScript基礎語法、dom操作樹及document對象

    本文介紹了學習javascript重要的3個內容基礎語法、dom操作樹及document對象,小伙伴們一定要弄明白才行
    2014-12-12
  • 詳解JavaScript中undefined與null的區(qū)別

    詳解JavaScript中undefined與null的區(qū)別

    大多數(shù)計算機語言,有且僅有一個表示"無"的值,比如,C語言的NULL,Java語言的null,Python語言的none,Ruby語言的nil
    2014-03-03
  • 關于JavaScript中string 的replace

    關于JavaScript中string 的replace

    在使用JavaScript對字符串進行處理的時候我們經(jīng)常會用到replace方法,很簡單的一個方法,以前一直不以為意,直到今天看JavaScript語言精粹的時候讀到了一個有趣的小例子的時候,并不是十分理解,了解了一下replace的用法才明白,原來replace不像想象中的那么簡單
    2013-04-04
  • 深入理解JavaScript定時機制

    深入理解JavaScript定時機制

    這篇文章主要介紹了深入理解JavaScript定時機制,對于學習JavaScript有一定的幫助,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • 在JavaScript并非所有的一切都是對象

    在JavaScript并非所有的一切都是對象

    本篇文章解釋了 javascript 中的兩種值類型:原始值(primitive)和對象(object),以及混合使用兩種類型時的注意事項
    2013-04-04
  • JavaScript SetInterval與setTimeout使用方法詳解

    JavaScript SetInterval與setTimeout使用方法詳解

    本文講解了JavaScript SetInterval與setTimeout的區(qū)別,并用代碼示例演示了使用方法
    2013-11-11
  • JavaScript入門教程 Cookies

    JavaScript入門教程 Cookies

    使用 Cookies  我們已經(jīng)知道,在 document 對象中有一個 cookie 屬性。但是 Cookie 又是什么?
    2009-01-01

最新評論