Informationen zur Verwendung von
module.exports und Exports im WeChat-Applet finden Sie im folgenden offiziellen Dokument. Es ist relativ einfach und bequem zu verwenden, aber der Unterschied zwischen den beiden ist nicht sehr klar zu der Zeit.
Um die Beziehung zwischen Exports und module.exports besser zu verstehen, wollen wir zunächst einige js-Grundlagen behandeln. Beispiel:
// index.js Page({ onLoad: function(){ var a = {name: '张三'}; var b = a; console.log(a); console.log(b); b.name = '李四'; console.log(a); console.log(b); var b = {name: '王五'}; console.log(a); console.log(b); } })
Das Ergebnis der Ausführung von app.js ist:
{ name: '张三' } { name: '张三' } { name: '李四' } { name: '李四' } { name: '李四' } { name: '王五' }
Erklärung:
a ist ein Objekt, b ist das von a 🎜>Referenz, das heißt, a und b zeigen auf dasselbe Objekt, das heißt, a und b zeigen auf dieselbe Speicheradresse, sodass die ersten beiden Ausgaben gleich sind.
Wenn b geändert wird, dh der Inhalt von a und b, die auf dieselbe Speicheradresse zeigen, geändert wird, wird auch a widergespiegelt, sodass die dritte und vierte Ausgabe gleich sind.
Wenn b vollständig abgedeckt ist, zeigt b auf eine neue Speicheradresse (der ursprüngliche Speicherblock wird nicht geändert) und a zeigt immer noch auf den ursprünglichen Speicherblock, dh a und b zeigen nicht mehr auf denselben Speicherblock Das heißt, a und b haben zu diesem Zeitpunkt nichts miteinander zu tun, daher sind die letzten beiden Ausgaben unterschiedlich.
Nachdem wir die obigen Beispiele verstanden haben, kommen wir zum Punkt. Wir müssen nur drei Punkte kennen, um den Unterschied zwischen exports und module.exports zu kennen:
exports ist ein Verweis auf module.exports; >Der Anfangswert von module.exports ist ein leeres Objekt {}, daher ist der Anfangswert von exports auch {}; Exporte. Keine Exporte.
Also: Wenn wir Exporten übereinen Wert zuweisen, fügen wir dem leeren Objekt module.exports tatsächlich zwei
-Attribute
Das Folgende ist ein Beispiel für den Unterschied zwischen module.exports und exports im WeChat-Applet
var name = '张三'; exports.name = name; exports.sayName = function() { console.log(name); }
Zusammenfassend, wenn module.exports darauf verweist Bei einem neuen Objekt unterbricht exports den Verweis auf module.exports, module.exports zeigt auf den neuen Speicherblock und exports verweist weiterhin auf den ursprünglichen Speicherblock. Wenn die Beziehung zwischen den beiden nicht klar ist, verwenden Sie bitte module.exports, um die Schnittstelle verfügbar zu machen, und versuchen Sie, keine Exporte zu verwenden, um die Schnittstelle verfügbar zu machen.
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen module.exports und exports im WeChat-Miniprogramm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!