Function构造函数可以接受任意数量的参数,但最后一个参数始终被看成函数体,注意函数表达式定义函数的方法与声明其他变量时一样需要加分号。

发布时间 2023-11-15 23:48:03作者: 龙陌

下列关于 js 函数定义方式的描述正确的是

A
function add(a,b){return a+b;}函数表达式

B
var add=new Function(‘a’,’b’,’return a+b’)函数表达式

C
function add(a,b){return a+b;}函数声明

D
var add=function(a,b){return a+b;}函数声明

E
var add=new Function(‘a’,’b’,’return a+b’);函数声明

正确答案:C

C
一.函数声明语法定义:function sum(num1,num2){return num1+num2}
二.函数表达式定义函数:
1.var sum = function(num1,num2){return num1+num2};
2.var sum = new Function("num1","num2","return num1+num2");
Function构造函数可以接受任意数量的参数,但最后一个参数始终被看成函数体,注意函数表达式定义函数的方法与声明其他变量时一样需要加分号。

函数声明
function sum(a,b){
return a+b
}

函数表达式
var sum = function(a,b){
return a+b
}

Function构造函数【从技术角度讲,这是一个函数表达式】

var sum = new Function('a','b','return a+b')//不推荐使用,影响函数解析性能

function foo(){}; // 声明,因为它是程序的一部分

var bar = function foo(){}; // 表达式,因为它是赋值表达(AssignmentExpression)的一部分

new function bar(){}; // 表达式,因为它是New表达式(NewExpression)的一部分

(function(){
function bar(){}; // 声明,因为它是函数体(FunctionBody)的一部分

})();

特殊例子:
(function foo(){})//函数表达式,它被包含在一对圆括号中的函数,在其上下文环境中,()构成了一个分组操作符,而分组操作符只能包含表达式

函数声明的方式

1.函数声明式 function aa(){ .... }

2.函数字变量 var aa = fucntion(){ .... }

function add(a,b){return a+b;}//函数声明
var add=function(a,b){return a+b;}//函数表达式
var add=new Function('a','b','return a+b')//构造函数

记住表达式有等号传递就不会搞混啦