猿问

请问js函数定义方式的区别是什么

var a =function(){

alert('234');
}

function a (){
alert(123);
}

a();
我置换上面两种定义先后,怎么一直返回234

一只名叫tom的猫
浏览 298回答 5
5回答

紫衣仙女

第一段:new function使用系统内置函数对象来构建一个函数var sum=new function(a,b) 相当于:function 匿名类();var sum=new 匿名类(a,b);当你执行new的时候就已经从Function创建了一个实例,而a , b 不存在 ,所以输出 a+b 按照数学运算 空值相加得到 NaN第二段:var sum=function(a,b) 相当于:function sum(a,b)所以可以输出:ab;

慕斯709654

定义一个函数有几种方法//1、直接定义function sum(a,b){alert(a+b);}//2、使用Function的构造函数定义var sum = new Function("a","b","alert(a+b)");上面两种定义方式都可以在后面调用sum(1,2)来运行。你定义的第一种是new 了一个对象而不是函数,在new对象时a和b都没有赋值所以打出了NaN  

噜噜哒

javascript function定义写法1.function a(){}2.var a=function(){}3.var obj=new Object();obj={"a":function(){}}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答