Javascript函数声明与函数表达式的区别分析

Javascript函数声明与函数表达式的区别分析
当用js写的函数,通常练习函数fn(){ }的方式来声明一个函数,而阅读一些好的插件难免满足VaR Fn =函数(){ }这个函数来创建他们的应用,从今天的差异是什么,给第三度的精神,谈好的人着迷的函数声明。

函数声明

函数声明示例代码

复制代码代码如下所示:

函数FN(){

console.log('fn功能。);



}
所以我们声明了一个名为FN的函数,这里有一个思想。你认为它会在这个函数的顶部执行吗还是错了

复制代码如下:(FN); / /函数fn称FN功能我们以前所说的(console.log('fn){函数执行。); / /代码.. }

控制台输出结果:
是的,此时可以调用FN函数,这里总结原因。

总结:

1:此时FN函数是变量的结果,变量默认情况下存储在全局上下文的变量中(使用窗口)。函数名)。

2:这是一个函数声明,它在全局上下文阶段创建,代码执行阶段,并且它们已经可用。

3:它可以影响变量对象(只存储在上下文中的变量)

功能性表达

函数表达式示例代码

复制代码代码如下所示:

函数(){()

console.log('fn { }。语句执行函数表达式)



}
那么我们声明一个匿名函数并将其引用指向变量FN

再一次,您每次调用表达式中声明的每个函数来查看控制台的输出。

复制代码代码如下所示:

为了清楚地看到控制台输出,我们在可读性之后对它们的调用作了标记。

Console.log(又称之前。);

(FN);

console.log(在通话结束。);

函数(){()

console.log('fn { }。语句执行函数表达式)



}

console.log(呼叫开始。);

(FN);

console.log(呼叫开始。);
控制台打印结果:
可以看出,当将代码执行到对FN()函数的第一次调用时,它提示FN不是一个函数(FN不是方法),如果出现错误,它将终止操作。

这表明,当第一次调用FN()时,var变量不作为全局对象的属性存在,并且未引用FN引用的匿名函数上下文,因此它之前的调用失败。

复制代码代码如下所示:

直到第一个调用/逻辑注释出来,查看输出控制台。

/ / console.log(称为开始之前。);

();

console.log( / /在调用结束。);

函数(){()

console.log('fn { }。语句执行函数表达式)



}

console.log(呼叫开始。);

在调用后的表达式中

console.log(呼叫开始。);
控制台打印结果:
正如您所看到的,可以稍后调用表达式函数,以总结为什么。

总结:

1:第一个变量本身不作为函数存在,而是对匿名函数的引用(值类型不是引用)。

2:在代码执行阶段,在初始化全局上下文时,它不是全局存在的属性,因此不会对变量对象造成污染。

3:这种类型的声明通常更常见于插件的开发中,也可以称为对关闭的回调函数的调用。

所以函数FN(var){不等于(=函数){,它们是根本不同的。

以上是本文的全部内容,思路很清晰,对比也很清楚,是一篇很好的文章,合作伙伴一定要仔细研究下一篇。

tag:函数声明函数表达式区别电脑软件Javascript

相关内容