以下のコードでは
(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();