为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

收到一只叮咚 2019-07-14 08:08:01
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;

查看完整回答
反对 回复 2019-07-15
?
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

 

 


查看完整回答
反对 回复 2019-07-15
?
呼如林

TA贡献1798条经验 获得超3个赞

javascript function定义写法

1.function a(){}

2.var a=function(){}

3.var obj=new Object();

obj={

"a":function(){}

}

查看完整回答
反对 回复 2019-07-15
  • 5 回答
  • 0 关注
  • 293 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信