1
:それは方法を思わJavaScriptクラスの呼び出し
var foo = new Foo.bar();
これでは、インスタンス化時に呼び出されています。これを収容するためにどのようにクラス構造を設定するのですか?このような新しいクラスを呼び出すときにメソッドに直接アクセスしようとすると、エラーが発生します:匿名関数を呼び出します。
ありがとうございます!
:それは方法を思わJavaScriptクラスの呼び出し
var foo = new Foo.bar();
これでは、インスタンス化時に呼び出されています。これを収容するためにどのようにクラス構造を設定するのですか?このような新しいクラスを呼び出すときにメソッドに直接アクセスしようとすると、エラーが発生します:匿名関数を呼び出します。
ありがとうございます!
var Foo = {};
Foo.bar = function() {
this.variable = "something";
}
var foo = new Foo.bar();
foo.variable === "something"; // true
Foo
擬似名前空間ですが、本当にそれだけのオブジェクトです。 bar
は、無名関数です。この場合、var名はvariable
で、そのスコープに保存されます。
インスタンス化の後にメソッドを呼び出すのではなく、提供された関数をコンストラクタとして使用しています。これは新しい 'Foo.bar'オブジェクトを作成し、新しい' Foo'オブジェクトではなく 'bar'を呼び出しています。 – zzzzBov
'Foo'は' bar() 'コンストラクタの名前空間に過ぎません。 – jfriend00