JS中函数的声明与函数表达式的区别

news/2024/7/19 14:18:44 标签: javascript, js

在JavaScript中定义一个函数,有两种方式,声明式和表达式。
我们直接上代码:

	function f1(){
		console.log('aaaaaa');
	}

这是很标准的函数的声明方式。也就是所谓的声明式,它的主要特点就是一定要有函数名,这是规定。而且它可以在函数定义之前调用。

	f1();
	function f1 (){
		console.log('aaaaaaa')
	}

这段代码的输出结果是:
在这里插入图片描述
我们看下函数的表达式形式:

	var f1 = function (){
		console.log('aaaaaaa');
	}

这是函数的表达式形式定义的函数。它的特点是可以没有函数名,当然也可以有,这里是可选的。还有就是它不能在函数定义之前调用。

	f1();
	var f1 = function (){
		console.log('aaaaaaa');
	}

我们像之前一样,在函数定义之前调用一下函数,它的输出结果是:
在这里插入图片描述
它报错了。
所以我们总结一下:
函数声明式必须要有函数名,并且它是可以在函数定义之前调用的。函数表达式可以没有函数名,是可选择的,并且它不可以在函数定义之前调用,编译器必须完全读取完它的表达式,才能被调用。
因为函数表达式可以没有函数名,所以不会污染名字空间,这也是为什么很多JS库使用函数表达式的原因。
有什么问题可以联系QQ:505417246
关注下面微信公众号,可以领取微信小程序、Vue、TypeScript、前端、uni-app、全栈、Nodejs等实战学习资料
在这里插入图片描述


http://www.niftyadmin.cn/n/1576714.html

相关文章

Win10系列:JavaScript 动画1

在应用程序中使用动画会使应用显得更加生动,进而给用户带来良好的视觉效果。例如,当用户将某个项添加到列表时,新项不会立即出现在列表中,而是采用动画形式到达相应位置,并且列表中的其他项也采用动画形式移动到新位置…

详解前端开发之flex布局(附代码及演示效果)

我们在进行微信小程序的开发时,基本都需要对页面进行布局,布局方式有很多,flex布局可以基本解决我们所有的需求,并且简单易学。 flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供…

代码生成利器:IDEA 强大的 Live Templates(转)

代码生成利器:IDEA 强大的 Live Templates - 文章 - 伯乐在线http://blog.jobbole.com/110607/ 前言 Java 开发过程经常需要编写有固定格式的代码,例如说声明一个私有变量,logger或者bean等等。对于这种小范围的代码生成,我们可以…

JavaScript实现99乘法表的打印

使用JavaScript实现99乘法表的打印&#xff0c;核心就是两层循环加字符串拼接。 代码如下&#xff1a; for(var i1;i<9;i){for(var j1;j<i;j){document.write(j*ii*j)document.write(" ")}document.write(<br/>)效果如下&#xff1a; 有问题可以联系QQ…

Java网络编程学习资源及总结

文章目录Java网络编程学习资源补充编程模式URL总结&#xff08;更新&#xff09;Java网络编程 学习资源 计算机网络协议Java socket网络编程 补充 编程模式 URL URL&#xff1a;Uniform Resource Locator&#xff0c;统一资源定位符。 网络三大基石&#xff1a;HTML&#…

微信小程序:第三天

微信小程序&#xff1a;第三天 配置文件详解 app.json位于项目的主目录中&#xff0c;用于对于当前项目进行全局配置&#xff0c;包括配置每个页面的文件路径&#xff0c;窗口表现&#xff0c;设置网络超时时间&#xff0c;设置多tab等。 配置文件如以下&#xff1a; {//设置文…

JS之变量声明与window对象的关系

话不多说&#xff0c;我们先看代码&#xff1a; function f (){fff 999;}f();console.log(fff);我们定义了一个名为 f 的函数&#xff0c;函数内没有对变量进行声明&#xff0c;直接给 fff 变量进行了赋值&#xff0c;并且在外部调用了 f 函数&#xff0c;我们输出一下 fff 的…

原生JavaScript事件详解

JQuery这种Write Less Do More的框架&#xff0c;用多了难免会对原生js眼高手低。 小菜其实不想写这篇博客&#xff0c;貌似很初级的样子&#xff0c;但是看到网络上连原生js事件绑定和解除都说不明白&#xff0c;还是决定科普一下了。 首先声明&#xff0c;小菜懂的也不是很多…