最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

函数声明与函数表达式有什么区别

来源:动视网 责编:小采 时间:2020-11-27 20:12:18
文档

函数声明与函数表达式有什么区别

函数声明与函数表达式有什么区别:一、 定义函数的方式定义函数有两种方式:函数声明和函数表达式。 函数声明的语法是这样的:function functionName(arg0,arg1){//函数体}首先是function关键字,然后是函数的名字,这就是指定函数名的两种方式。关于函数声明,他最重要的一个特征,就是函数声
推荐度:
导读函数声明与函数表达式有什么区别:一、 定义函数的方式定义函数有两种方式:函数声明和函数表达式。 函数声明的语法是这样的:function functionName(arg0,arg1){//函数体}首先是function关键字,然后是函数的名字,这就是指定函数名的两种方式。关于函数声明,他最重要的一个特征,就是函数声


一、 定义函数的方式

定义函数有两种方式:函数声明和函数表达式。
函数声明的语法是这样的:

function functionName(arg0,arg1){//函数体}

首先是function关键字,然后是函数的名字,这就是指定函数名的两种方式。关于函数声明,他最重要的一个特征,就是函数声明提升,意思是会在执行代码前读取函数声明。这就意味着可以把函数声明放在调用它的语句后。如:

a();function a(){alert("a");}//a

这个例子不会出错,因为在执行代码前就会先读取函数声明。
第二种创建函数的方式是函数表达式,下面是最常见的一种方式:

var a = function(arg0,arg1){//函数体};

这种形式看起来就像常规的变量赋值语句,即创建一个函数并把它赋值给变量a,这种情况下创建的函数叫做匿名函数,因为function关键字后面没有标识符。
函数表达式与其他表达式一样,在使用前必须赋值。下面的代码会导致错误:

a();var a = function(){alert("a");};//错误//补充说明:使用该方法定义函数,只有变量声明提前了,变量初始化代码仍在原来的位置

二、 函数声明与函数表达式的区别

1、函数声明中函数名是必须的,函数表达式中则是可选的。

//函数声明
 function sum(a, b) {
 return a + b;
 }
 alert(sum(1, 2));
//函数表达式
 /* var s = function sum(a, b) {
 return a + b;
 }
 alert(s(1, 2)); */

 var s = function(a, b) {
 return a + b;
 }
 alert(s(1, 2)); //以上两种都可以

2、用函数声明定义的函数,函数可以在函数声明之前调用,而用函数表达式定义的函数则只能在声明之后调用。

根本原因在于解析器对于这两种定义方式读取的顺序不同:解析器会实现读取函数声明,即函数声明放在任意位置都可以被调用;而对于函数表达式,解析器只有在读到函数表达式所在那一行时才会开始执行(详情请看第一部分“函数定义的方式”)。

文档

函数声明与函数表达式有什么区别

函数声明与函数表达式有什么区别:一、 定义函数的方式定义函数有两种方式:函数声明和函数表达式。 函数声明的语法是这样的:function functionName(arg0,arg1){//函数体}首先是function关键字,然后是函数的名字,这就是指定函数名的两种方式。关于函数声明,他最重要的一个特征,就是函数声
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top