Heim Web-Frontend js-Tutorial JavaScript 模式之工厂模式(Factory)应用介绍_javascript技巧

JavaScript 模式之工厂模式(Factory)应用介绍_javascript技巧

May 16, 2016 pm 05:48 PM
工厂 模式

工厂模式也是对象创建模式之一,它通常在类或类的静态方法中去实现。构造对象的一种方式是使用new操作符,但使用new时正是针对实现编程,会造成“耦合”问题,与具体的类关系紧密。导致代码更脆弱,缺乏弹性,在复杂逻辑的项目中建议是面向接口编程。
先看简单工厂模式

复制代码 代码如下:

Person(name, age) {
var obj = {}
obj.name = name
obj.age = age
return obj
}
var p1 = Person('jack', 25)
var p2 = Person('lily', 22)

与构造函数方式写一个类的区别在于没有使用this,而是每次都构造一个空对象,然后给其添加属性。创建对象方式不是使用new,而是使用函数调用方式。这种方式基本上用来替代一个类(具有相同属性的对象),而复杂一些的工厂则可以造不同类型的对象。
下面以个水果工厂示例
复制代码 代码如下:

function Banana() {
this.price = '$1.5'
}
function Apple() {
this.price = '$1.2'
}
function Orange() {
this.price = '$2.2'
}
// 静态工厂类
function Fruit() {}
Fruit.factory = function(type) {
if (!window[type]) {
return
}
var fruit = new window[type]
return fruit
}
// 制造不同的水果
var banana = Fruit.factory('Banana')
var apple = Fruit.factory('Apple')
var orange = Fruit.factory('Orange')

有三个水果类Banana、Apple、Orange,一个水果工厂类Fruit,通过静态方法factory每次可以造出不同的水果类对象。
工厂模式在JavaScript原生对象Object也有所体现,比如
复制代码 代码如下:

var obj = Object(),
num = Object(1),
str = Object('s'),
boo = Object(false);

Object就是一个工厂,根据参数不同会构造出不同的对象。obj是一个空对象,num是一个Number类型的对象,str是一个String类型的对象,boo是Boolean类型的对象。
jQuery.Callbacks也是一个工厂,每次调用它都会返回一个具有add, remove, fire等方法的对象。还可以根据参数如“once”, “memory”等构造出具有不同性质的对象。

所谓的工厂模式,是指可以返回一个对象的方法。
利用这种模式,我们可以做什么呢?假设我不满足现有的DOM对象里面所拥有的方法,我想要增加一个自定义的方法叫sayHello,我们可以这样做:
复制代码 代码如下:

function RemouldNodeObj(DomNode){
//先判断一下传递进来的参数是不是一个Dom节点
if(typeof DomNode == "object" && DomNode.nodeType == 1){
DomNode.say = function(){
alert("Hello!!");
}
}else{
alert("你传递进来的参数不正确!");
}
}

//这样调用:
window.onload = function(){
var oDiv = RemouldNodeObj(document.getElementById("test"));
//通过这一步,oDiv就拥有了新的方法say
oDiv.say();
}

有了上面的基础后,我们来实现点复杂的功能,我们要实现只要通过js的调用就生成一个简单的form表单,看代码:
复制代码 代码如下:



JavaScript之工厂模式




###




看到了没?这样的调用方式是不是很像jQuery?如果能够解决跨浏览器问题的话,其实完全可以做出一个搜索栏插件来!
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was bewirkt der „Bitte nicht stören'-Modus von WeChat? Was bewirkt der „Bitte nicht stören'-Modus von WeChat? Feb 23, 2024 pm 10:48 PM

Was bedeutet der „Bitte nicht stören“-Modus von WeChat? Mit der Popularität von Smartphones und der rasanten Entwicklung des mobilen Internets sind Social-Media-Plattformen zu einem unverzichtbaren Bestandteil des täglichen Lebens der Menschen geworden. WeChat ist eine der beliebtesten Social-Media-Plattformen in China und fast jeder hat ein WeChat-Konto. Über WeChat können wir in Echtzeit mit Freunden, Familie und Kollegen kommunizieren, Momente in unserem Leben teilen und die aktuelle Situation des anderen verstehen. Allerdings sind wir in dieser Zeit zwangsläufig auch mit den Problemen der Informationsüberflutung und des Verlusts der Privatsphäre konfrontiert, insbesondere für diejenigen, die sich konzentrieren müssen oder

Wofür wird der Schlafmodus auf dem iPhone verwendet? Wofür wird der Schlafmodus auf dem iPhone verwendet? Nov 04, 2023 am 11:13 AM

iOS-Geräte können mit der Health-App seit langem Ihre Schlafmuster und mehr verfolgen. Aber ist es nicht ärgerlich, wenn Sie im Schlaf durch Benachrichtigungen gestört werden? Diese Benachrichtigungen sind möglicherweise irrelevant und stören daher Ihren Schlafrhythmus. Der „Bitte nicht stören“-Modus ist zwar eine gute Möglichkeit, Ablenkungen beim Schlafen zu vermeiden, kann jedoch dazu führen, dass Sie wichtige Anrufe und Nachrichten verpassen, die Sie nachts erhalten. Zum Glück kommt hier der Schlafmodus ins Spiel. Erfahren Sie mehr darüber und wie Sie es auf dem iPhone verwenden. Welche Rolle spielt der Schlafmodus auf dem iPhone? Der Schlafmodus ist ein dedizierter Fokusmodus in iOS, der automatisch basierend auf Ihrem Schlafplan in der „Health“-App aktiviert wird. Es hilft Ihnen, einen Alarm einzustellen und dann

„Bitte nicht stören'-Modus funktioniert auf dem iPhone nicht: Behebung „Bitte nicht stören'-Modus funktioniert auf dem iPhone nicht: Behebung Apr 24, 2024 pm 04:50 PM

Selbst das Beantworten von Anrufen im Modus „Bitte nicht stören“ kann ein sehr lästiges Erlebnis sein. Wie der Name schon sagt, deaktiviert der Modus „Bitte nicht stören“ alle Benachrichtigungen über eingehende Anrufe und Warnungen von E-Mails, Nachrichten usw. Sie können diesen Lösungssätzen folgen, um das Problem zu beheben. Fix 1 – Fokusmodus aktivieren Aktivieren Sie den Fokusmodus auf Ihrem Telefon. Schritt 1 – Wischen Sie von oben nach unten, um auf das Kontrollzentrum zuzugreifen. Schritt 2 – Aktivieren Sie als Nächstes den „Fokusmodus“ auf Ihrem Telefon. Der Fokusmodus aktiviert den „Bitte nicht stören“-Modus auf Ihrem Telefon. Es werden keine Benachrichtigungen über eingehende Anrufe auf Ihrem Telefon angezeigt. Fix 2 – Fokusmodus-Einstellungen ändern Wenn es Probleme mit den Fokusmoduseinstellungen gibt, sollten Sie diese beheben. Schritt 1 – Öffnen Sie Ihr iPhone-Einstellungsfenster. Schritt 2 – Als nächstes schalten Sie die Fokusmodus-Einstellungen ein

Was bedeutet EPC+O-Modus? Was bedeutet EPC+O-Modus? Nov 09, 2022 am 10:54 AM

Das epc+o-Modell bezieht sich auf den allgemeinen Vertragsrahmen, der Design, Beschaffung usw. integriert. Es handelt sich um einige betriebliche Verknüpfungen, die von epc abgeleitet sind, d. h., während der Bauzeit muss der Generalunternehmer nicht nur Designaufgaben im herkömmlichen Sinne übernehmen Darüber hinaus muss es auch alle Wartungsarbeiten während der Betriebszeit übernehmen. Dieses Modell kann die betriebliche Effizienz vieler Projekte erheblich verbessern und die Betriebskosten schnell senken.

So verlassen Sie den S-Modus unter Windows 10/11 So verlassen Sie den S-Modus unter Windows 10/11 Aug 03, 2023 pm 08:17 PM

Windows im S-Modus soll mehr Sicherheit und Leistung bieten, indem nur die Installation von Apps aus dem Microsoft Store zugelassen wird. Während diese Funktion dazu beiträgt, Malware zu verhindern und eine sichere Computerumgebung zu gewährleisten, kann sie Benutzer einschränken, die Anwendungen aus anderen Quellen als dem Microsoft Store installieren möchten. Wenn Sie sich in dieser Situation befinden und sich ständig fragen, wie Sie in Windows 10/11 aus dem S-Modus wechseln können, dann sind Sie bei uns genau richtig, denn wir zeigen Ihnen, wie Sie mit zwei verschiedenen Methoden in Windows 10/11 wechseln können Die Schritte zum S-Modus stellen sicher, dass Sie die Freiheit genießen können, Apps von jedem beliebigen Ort aus zu installieren. Erfahren Sie, wie Sie in Windows aus dem S-Modus wechseln

iPhone 15 Pro: So entfernen Sie das Silent-Mode-Symbol in der Statusleiste iPhone 15 Pro: So entfernen Sie das Silent-Mode-Symbol in der Statusleiste Sep 24, 2023 pm 10:01 PM

Bei den Modellen iPhone 15 Pro und iPhone 15 Pro Max hat Apple eine physisch programmierbare Aktionstaste eingeführt, die den herkömmlichen Klingel-/Stummschalter über den Lautstärketasten ersetzt. Die Aktionstaste kann so programmiert werden, dass sie mehrere verschiedene Funktionen ausführt, aber die Möglichkeit, zwischen Stumm- und Klingelmodus zu wechseln, ist weiterhin vorhanden. Standardmäßig wird das Gerät durch langes Drücken der Aktionstaste stummgeschaltet und das taktile Feedback der Taste pulsiert dreimal. Bei beiden iPhone 15 Pro-Modellen wird neben der Uhrzeit in der Statusleiste ein durchgestrichenes Glockensymbol angezeigt, um anzuzeigen, dass der Lautlos-Modus aktiviert ist. Dies bleibt auch so, bis Sie die Aktionstaste erneut lange drücken, um die Stummschaltung des Geräts aufzuheben. Wenn Sie Ihr iPhone lieber in den lautlosen Modus versetzen möchten

Anleitung zur Verwendung des Standby-Modus in iOS 17 Anleitung zur Verwendung des Standby-Modus in iOS 17 Aug 22, 2023 pm 04:01 PM

Mit iOS17 kommt der Standby-Modus auf das iPhone. Diese Anleitung soll Ihnen zeigen, wie Sie diese Funktion auf Ihrem iPhone verwenden. Der Standby-Modus ist eine bahnbrechende Funktion, die das iPhone in ein dynamisches, immer eingeschaltetes Smart Display verwandelt. Wenn Ihr iPhone während des Ladevorgangs horizontal auf die Seite gelegt wird, aktiviert es den Standby-Modus. Dieser Modus präsentiert eine Vielzahl nützlicher Widgets, darunter unter anderem die aktuelle Uhrzeit, lokale Wetteraktualisierungen, eine Diashow Ihrer Lieblingsfotos und sogar Steuerelemente für die Musikwiedergabe. Ein wesentlicher Vorteil dieses Modus ist die Möglichkeit, Benachrichtigungen anzuzeigen, sodass Benutzer diese anzeigen und mit ihnen interagieren können, ohne ihr iPhone vollständig aufwecken zu müssen. So verwenden Sie den Standby-Modus Damit der Standby-Modus ordnungsgemäß funktioniert, muss auf Ihrem iPhone Folgendes ausgeführt werden: i

Wie aktiviere ich „Notepad++ Dark Mode' und „Notepad++ Dark Theme'? Wie aktiviere ich „Notepad++ Dark Mode' und „Notepad++ Dark Theme'? Oct 27, 2023 pm 11:17 PM

Notepad++ Dark Mode v8.0 hat keine Parameter, Notepad++ ist der nützlichste Texteditor. Jede unter Windows 10 ausgeführte App unterstützt den Dunkelmodus. Sie können Webbrowser wie Chrome, Firefox und Microsoft Edge benennen. Wenn Sie mit Notepad++ arbeiten, kann der standardmäßig weiße Hintergrund Ihre Augen schädigen. Entwickler haben Version 8 von Notepad++ den Dunkelmodus hinzugefügt. Hier erfahren Sie, wie Sie ihn aktivieren. Aktivieren Sie Notepad für Windows 11/10 ++. Dunkler Modus. Starten Sie Notepad ++. Klicken Sie auf „Einstellungen“ > „Einstellungen“ > „Dunkler Modus“. Wählen Sie „Dunkelmodus aktivieren“, um Notepad neu zu starten

See all articles