0

私はjavascriptの初心者です。JavaScript関数があります

function foo(args){

   ...
}


//mehtod1
var type1=foo(a);

//mehtod2
var type2= new foo(a);

今私の疑問は、どちらがパフォーマンスを向上させるかということです mehtod1 または method2

new キーワードの重要性と、method1 に対する利点は何ですか?

(質問がすでに存在する場合、および私の下手な英語で申し訳ありません)

4

2 に答える 2

5

最初の呼び出しは、関数評価という 1 つの操作を実行します。2 つ目は、新しいオブジェクトを作成し、関数の評価を行うという 2 つの処理を実行します。関数の評価に new を使用しないでください。

次に例を示します。

var x = function () { return true; };

var y = x(); // Type of y is boolean
var y = new x; // Type of y is object
var y = new x(); // Type of y is object
var y = x; // Type of y is a function
var y = x.call(this); // Type of y is a boolean
于 2012-09-27T05:37:17.663 に答える
1

それらは違う。

type1function の戻り値になりますfoo

type2コンストラクターが function であるオブジェクトになりますfoo

new演算子は、ユーザー定義のオブジェクト型、またはコンストラクター関数を持つ組み込みオブジェクト型のいずれかのインスタンスを作成します。

参照。

于 2012-09-27T05:38:09.010 に答える