我是JavaScript和哎呀新手。我有一個JavaScript函數javascript函數調用與新的性能
function foo(args){
...
}
//mehtod1
var type1=foo(a);
//mehtod2
var type2= new foo(a);
現在我的疑問是,這將給予我們更多的性能mehtod1或方法2
什麼是新的關鍵詞的意義,什麼是過mehtod1優勢?
(如果這個問題已經存在,對不起我的英文不好)
我是JavaScript和哎呀新手。我有一個JavaScript函數javascript函數調用與新的性能
function foo(args){
...
}
//mehtod1
var type1=foo(a);
//mehtod2
var type2= new foo(a);
現在我的疑問是,這將給予我們更多的性能mehtod1或方法2
什麼是新的關鍵詞的意義,什麼是過mehtod1優勢?
(如果這個問題已經存在,對不起我的英文不好)
第一次調用執行一項操作:功能評價。第二個執行兩個操作:創建一個新對象,然後進行功能評估。不要使用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
他們是不同的。
type1
將是函數foo
的返回值。
type2
將是一個對象,其構造函數的功能是foo
。
的新操作者創建用戶定義的對象類型的實例或具有構造函數內置對象類型中的一個的 。
@icktoofay謝謝你糾正我,你是絕對正確的。我會在一秒鐘內編輯 –