最新文章专题视频专题问答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 19:31:22
文档

函数声明的两种形式的区别

函数声明的两种形式的区别:我们知道关键字function用来定义函数;函数定义可以写成函数定义表达式,也可以写成语句的形式。例如下面的两种写法var f = function(x){return x+1;} //将表达式赋值给一个变量 函数表达式 function f(x){return x+1;} //含有变量的语句
推荐度:
导读函数声明的两种形式的区别:我们知道关键字function用来定义函数;函数定义可以写成函数定义表达式,也可以写成语句的形式。例如下面的两种写法var f = function(x){return x+1;} //将表达式赋值给一个变量 函数表达式 function f(x){return x+1;} //含有变量的语句
 我们知道关键字function用来定义函数;函数定义可以写成函数定义表达式,也可以写成语句的形式。例如下面的两种写法

var f = function(x){return x+1;} //将表达式赋值给一个变量 函数表达式
function f(x){return x+1;} //含有变量的语句     函数声明

尽管函数声明语句和函数定义表达式包含相同的函数名;但它们之间还是有区别的。
相同点:两种方式都创建了新的函数对象;两者都会被“提前”(函数语句中定义的函数被显示的提前到脚本或则函数的顶部,因此它们在整个脚本内可见);
不同点:函数声明语句中函数名是一个变量名,变量指向函数对象。和通过var声明变量一样,函数语句中定义的函数被显示的提前到脚本或则函数的顶部,因此它们在整个脚本内可见;
1.使用var只有变量声明提前--变量的初始化任然在原来的位置,然而使用函数声明语句的话函数名称和函数体均提前
总结:简单的说函数表达式的方式(也就是var声明方式)函数只有在var语句声明之后才能被调用;而函数声明(也就是function声明方式)函数可以在函数声明之前调用。
这些情况是 因为函数表达式是在函数运行的阶段才赋值给变量f;而函数声明在代码运行之前,也就是代码解析阶段就已经赋值给了变量f
我们可以看下面的代码:

console.log(f,"函数前")
var f = function (x) {
 return x + 1;//函数表达式
 }
console.log(f,"函数后")

而这段代码运行的结果:

console.log(f,"函数前")
function f(x) {
 return x + 1;//函数声明
}
console.log(f,"函数后")

结果:

文档

函数声明的两种形式的区别

函数声明的两种形式的区别:我们知道关键字function用来定义函数;函数定义可以写成函数定义表达式,也可以写成语句的形式。例如下面的两种写法var f = function(x){return x+1;} //将表达式赋值给一个变量 函数表达式 function f(x){return x+1;} //含有变量的语句
推荐度:
标签: 区别 类型 的区别
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top