3

関数として呼び出されるべきではないコンストラクターが必要です。

function Foo() {
  ...
};

var f = new Foo(); // ok
Foo();  // throws error

ここで検索したところ、関数として呼び出されているかどうかを確認するために次を使用できる可能性があることがわかりました

if (!(this instanceof arguments.callee))

もしそうなら、どのエラーをスローする必要がありますか?

そして、コンストラクターを定義するより良い方法はありますか?

4

3 に答える 3

0

これはどう:

/*WARNING CALL THIS ONLY AS A CONSTRUCTOR, NOT AS A FUNCTION*/
于 2013-09-10T21:51:22.290 に答える