当前位置:首页 > 日记 > 正文

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){不等于(=函数){,它们是根本不同的。

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

相关文章

PHP+mysqli查询数据库实例使用面向

PHP+mysqli查询数据库实例使用面向

面向对象的,查询,数据库,方法,实例,本文阐述了PHP + mysqli使用面向对象的方法来查询数据库的方式,分享给你参考。具体实现的方法如下: 第一步:创建一个数据连接对象 $ mysqli =新的mysqli(localhost 默认的MySQL类,它的属性和方法参见手册 如…

ps冷暗刺客壁纸的合成

ps冷暗刺客壁纸的合成

壁纸,刺客,电脑软件,ps,本文主要介绍ps合成酷暗刺客壁纸,爱好的朋友可以一起学习。 工作的影响: 效果1 效果2 1。创建一个新的1440times;900帆布(可根据自己的实际屏幕分辨率创建) 拖入沼泽地,并将雾料调整大小和位置,然后隐藏湿地材料,先以雾状材…

NodeJS的学习笔记流模块

NodeJS的学习笔记流模块

模块,学习笔记,电脑软件,NodeJS,首先,开放分析 流是一个抽象的接口,通过节点中的许多对象来实现。例如,一个HTTP服务器的请求是一个流,和标准输出流。流是可读,可写或两者。 与流的最早接触始于早期UNIX,几十年的实践证明流思想可以是大量系统…

ai做了一个简单的网页教程

ai做了一个简单的网页教程

教程,网页,简单,电脑软件,ai,本教程主要介绍给朋友,利用AI创建一个简单的网页界面方法。本教程制作的网页比较简单,非常适合初学者学习。推荐朋友一起学习。 在本教程中,ai学习朋友将学习AI创建一个简单的网页界面方法。教程比较简单。像你的…

支持Unicode字符集的Javascript语言

支持Unicode字符集的Javascript语言

字符集,语言,支持,电脑软件,Unicode,上个月,我做了一个分享,详细介绍了Unicode字符集,以及Javascript语言的支持。 1。什么是Unicode Unicode源于一个非常简单的想法:世界上所有的字符都包含在一个集合中。如果计算机支持这个字符集,它将显示所有字…

PS图象处理软件网页游戏UI设计的主

PS图象处理软件网页游戏UI设计的主

网页,图象处理,教程,网页游戏,布朗,本课程的重点是网页首页的设计。我们需要根据客户的要求确定网页内容,然后收集相关资料,根据我们的创意,使画面美观、视觉冲击。 来源:VC作者:畅游VC 本课程的重点是网页首页的设计。我们需要根据客户的要求…

单幅浏览的javascript实现

单幅浏览的javascript实现

浏览,单幅,电脑软件,javascript,使用空闲时间和学习Javascript语言,编写一个链接来浏览单个图片。 复制代码代码如下所示: 图像画廊 功能showpic(whichpic){ 无功源= whichpic.getattribute(href); / / href属性获取点击元素的当前值 VaR的占位符= d…

PS图象处理软件层简单画一个栩栩如

PS图象处理软件层简单画一个栩栩如

栩栩如生,图象,处理软件,画一,简单,下面的朋友详细的PS图象处理软件层绘制一个真实的使用荷包蛋。荷包蛋真的是真的,而且这个教程的难度不是很大。 本教程介绍给朋友,使用PS图象处理软件层绘制一个真实的荷包蛋简单。教程比较简单。荷包蛋真…

使用PS图象处理软件的一个好办法一

使用PS图象处理软件的一个好办法一

一幅,图象,好办法,处理软件,电脑软件,接下来,萧边向您介绍使用PS图象处理软件制作图片与另一张图片合并。这个教程很好。我推荐给你喜欢的朋友。你可以一起学习。 利用PS图象处理软件图片与另一相结合,可以。 1,选择图片,执行羽化,然后反选,再按…

烟花画写实中国象棋棋子

烟花画写实中国象棋棋子

中国象棋,棋子,烟花,电脑软件,本教程是向大家介绍利用烟花来绘制逼真的中国象棋棋子,画画的方法很简单,建议你喜欢的朋友学习跟随。 烟花图案有多种填充形式。如果能充分展示其图案的纹理特征,就可以很方便地绘制各种图形的逼真效果。现在,我…

ajax四要素的关系介绍

ajax四要素的关系介绍

四要,关系,电脑软件,ajax,通过使用Javascript来操作DOM元素刷新页面和重组数据,CSS可以为应用程序提供一个一致的接口,利用XMLHttpRequest对象与服务器进行异步通信,提交请求,在背景和获得的最新数据,定义了业务规则和流程。应用程序获取数据从服务器…

3实现在Node.js同步操作

3实现在Node.js同步操作

同步操作,电脑软件,Node,js,众所周知,异步的特点和优势是得天独厚的,但在同步过程中同时需要(如执行控制程序:订单-> -> func1 func2 func3)也很常见。本文就是记录这个问题的一些想法。 需要执行的函数: 复制代码代码如下所示: VaR func1 =功…