var a =function(){alert('234');}function a (){alert(123);}a();我置换上面两种定义先后,怎么一直返回234
5 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
第一段: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;
SMILET
TA贡献1796条经验 获得超4个赞
定义一个函数有几种方法
//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
呼如林
TA贡献1798条经验 获得超3个赞
javascript function定义写法
1.function a(){}
2.var a=function(){}
3.var obj=new Object();
obj={
"a":function(){}
}
添加回答
举报
0/150
提交
取消