5 回答

TA貢獻1794條經(jīng)驗 獲得超8個贊
第一段:new function使用系統(tǒng)內(nèi)置函數(shù)對象來構(gòu)建一個函數(shù)
var sum=new function(a,b) 相當于:
function 匿名類();
var sum=new 匿名類(a,b);
當你執(zhí)行new的時候就已經(jīng)從Function創(chuàng)建了一個實例,而a , b 不存在 ,
所以輸出 a+b 按照數(shù)學運算 空值相加得到 NaN
第二段:var sum=function(a,b) 相當于:function sum(a,b)
所以可以輸出:ab;

TA貢獻1796條經(jīng)驗 獲得超4個贊
定義一個函數(shù)有幾種方法
//1、直接定義
function sum(a,b){
alert(a+b);
}
//2、使用Function的構(gòu)造函數(shù)定義
var sum = new Function("a","b","alert(a+b)");
上面兩種定義方式都可以在后面調(diào)用sum(1,2)來運行。
你定義的第一種是new 了一個對象而不是函數(shù),在new對象時a和b都沒有賦值所以打出了NaN

TA貢獻1798條經(jīng)驗 獲得超3個贊
javascript function定義寫法
1.function a(){}
2.var a=function(){}
3.var obj=new Object();
obj={
"a":function(){}
}
添加回答
舉報