以下のコードでは
(function x() {
var j = function() { alert("234234"); }
return {
s: j
}
})()
var x1 = new x();
x1.s();
メソッド j() を呼び出す方法は? または、その前に、関数 x() のインスタンスを作成する方法はありますか?それが起こっているからです。フィドルhttp://jsfiddle.net/e5k6bdvn/を参照してください
以下のコードでは
(function x() {
var j = function() { alert("234234"); }
return {
s: j
}
})()
var x1 = new x();
x1.s();
メソッド j() を呼び出す方法は? または、その前に、関数 x() のインスタンスを作成する方法はありますか?それが起こっているからです。フィドルhttp://jsfiddle.net/e5k6bdvn/を参照してください
new) 。そのような:
var x = (function () {
var j = function() { alert("234234"); };
return {
s: j
};
})();
x.s();
または、同じ方法で複数のオブジェクトを作成する場合:
xしてくださいそのような:
function x () {
var j = function() { alert("234234"); };
return {
s: j
};
};
var x1 = x();
var x2 = x();
x1.s();
または、コンストラクター関数を作成する場合:
そのような:
function x () {
};
x.prototype.s = function () {
alert("234234");
}
var x1 = new x();
var x2 = new x();
x1.s();
@epascarello が述べたように、質問の文脈が何であるかを言うのは難しいです。
の意味がxオブジェクトを複数回返すことである場合は、すぐに呼び出すべきではありません。代わりに、次のように宣言するだけです。
function x () { return { j: function () { alert("234234") } } }
その後、いつでも呼び出すことができますj。
var x1 = x();
x1.j();
代わりに一度だけ使用する予定の場合はx、すぐに呼び出すのが良いですが、呼び出しもすぐに消費する必要がありますj。
(function () {
return {
j: function () {
alert("234234")
}
}
})().j();