下列关于 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')//构造函数
记住表达式有等号传递就不会搞混啦
标签:function,Function,return,函数,参数,var,表达式,构造函数 From: https://www.cnblogs.com/longmo666/p/17835154.html