nodejs 클래스가module에서 내보내는 여러 가지 방법
12456 단어 프로그래밍 노트
방법 1:
lib/test.js
var kuohao = {
"v1" : "i am v1",
"f2" : function () {
this.f1()
},
"f1" : function () {
console.log("show in f1: " + this.v1)
}
}
exports = module.exports = kuohao;
test.js
var testlib = require("./lib/test")
testlib.f2()
변형:
var kuohao = {
"v1" : "i am v1",
"f2" : function () {
kuohao.f1()
},
"f1" : function () {
console.log("show in f1: " + kuohao.v1)
}
}
exports = module.exports = kuohao;
방법 2:
lib/test.js
var kuohao = function () {
this.v1 = "i am v1";
this.f1 = function () {
console.log("show in f1: " + this.v1)
}
this.f2 = function () {
this.f1()
}
}
exports = module.exports = new kuohao;
test.js
var testlib = require("./lib/test")
testlib.f2()
이상, 내보낼 때 new를 추가하지 않으면 (exports =module.exports =kuohao;)
그럼 사용할 때 다시 new를 해야 돼요.
test.js
var testlib = require("./lib/test")
var testlib = new testlib()
testlib.f2()
변종도 할 수 있어요.
lib/test.js
exports = module.exports = new function () {
this.v1 = "i am v1";
this.f1 = function () {
console.log("show in f1: " + this.v1)
}
this.f2 = function () {
this.f1()
}
}
방법 3:
lib/test.js
function Kuohao() {}
Kuohao.prototype.v1 = "i am v1";
Kuohao.prototype.f1 = function () {
console.log("show in f1: " + this.v1)
}
Kuohao.prototype.f2 = function () {
this.f1()
}
exports = module.exports = new Kuohao();
test.js
var testlib = require("./lib/test")
testlib.f2()
상기 방법의 변수는 방식을 살짝 바꾸십시오.
lib/test.js
function Kuohao() {
this.v1 = "i am v1";
}
Kuohao.prototype.f1 = function () {
console.log("show in f1: " + this.v1)
}
Kuohao.prototype.f2 = function () {
this.f1()
}
exports = module.exports = new Kuohao();
방법
lib/test.js
function Kuohao() {
var kuohao = new Object();
kuohao.v1 = "i am v1";
kuohao.f1 = function () {
console.log("show in f1: " + this.v1)
}
kuohao.f2 = function () {
this.f1()
}
return kuohao;
}
exports = module.exports = Kuohao();
test.js
var testlib = require("./lib/test")
testlib.f2()
조금만 변종하면 효과가 똑같아요lib/test.js
function Kuohao() {
var kuohao = function () {};
kuohao.v1 = "i am v1";
kuohao.f1 = function () {
console.log("show in f1: " + this.v1)
}
kuohao.f2 = function () {
this.f1()
}
return kuohao;
}
exports = module.exports = Kuohao();
매개 변수 전달
lib/test.js
function Kuohao(_arg) {
console.log(_arg)
var kuohao = new Object();
kuohao.v1 = "i am v1";
kuohao.f1 = function () {
console.log("show in f1: " + this.v1)
}
kuohao.f2 = function () {
this.f1()
}
return kuohao;
}
exports = module.exports = Kuohao;
test.js
var testlib = require("./lib/test")("i am arg")
testlib.f2()
방법 5lib/test.js
var Kuohao = function () {
function Kuohao() {
this.v1 = "i am v1";
}
Kuohao.prototype.f1 = function f1() {
console.log("show in f1: " + this.v1)
}
Kuohao.prototype.f2 = function f2() {
this.f1()
}
return Kuohao;
}();
exports = module.exports = Kuohao;
test.js
var testlib = require("./lib/test")
var obj = new testlib();
obj.f2();
방법
lib/test.js
var options = {
f1 : function () {
console.log("show in f1: " + this.v1)
},
f2 : function () {
this.f1()
}
};
function Kuohao() {
this.v1 = "i am v1";
}
Kuohao.prototype = options;
exports = module.exports = new Kuohao();
test.js
var testlib = require("./lib/test")
testlib.f2();
방법
lib/test.js
var v1 = "i am v1";
exports.f1 = function() {
console.log("show in f1: " + v1)
};
function f2() {
exports.f1()
}
exports.f2 = f2;
test.js
var testlib = require("./lib/test")
testlib.f2();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Flutter Stateless 애플릿은 무엇입니까?그중의voidmain() 에 대해 잠시 이해(실천적인 내용은 다시 공부하려고 한다). 이번에는 stateless 애플릿에 대한 이해를 깊이 있게 하고 싶습니다.솔직히 이 부근의 강좌는 모두 코드를 모방하여 쓴 것이지...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.