博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS中用函数声明和函数表达式两种方式创建函数的区别
阅读量:5827 次
发布时间:2019-06-18

本文共 863 字,大约阅读时间需要 2 分钟。

在JS中创建函数的方式有很多种,本文主要讲解函数声明(function declaration)和函数表达式(function expression)两种方式创建函数的区别.

function add1(a, b) {    return a + b;}  //  function declarationvar add2 = function(a, b) {    return a+b;};  // function expression

上面是这两种方法创建函数的格式

他俩的区别主要在对待JS对待这两种方式的处理方式上,前者看作函数,后者为变量。JS在执行代码的时候,会有一个叫做Hoisting的操作,Hoisting的结果,把对那些变量和函数进行预处理,把他们放在前面了,而变量只放过去变量名,函数却都被放过去了。比如我们看下面代码来理解一下。

console.log(a);var a = '1';console.log(a);   //  undefined  1;

而对于函数

console.log(a());    function a() {        console.log('lol');    }    console.log(a());  // lol  lol;

从上面可以看出,虽然变量和函数都被Hoisting,但是处理的方式却是不同的,把这个处理方式应用到上面两种函数声明上面,第一种被看过函数,第二种被看作变量,那区别就很显然了:第二种函数的声明必须在函数调用的前面,第一个则无需这样。我们再来看最后一个例子:

var result1 = add1(1, 1);function add1(n1, n2) {    return n1 + n2;}var result2 = add2(1,1)var add2 = function(n1, n2) {    return n1 + n2;};result1   // 2result2  //  undefined

帮到你了吗?

转载地址:http://tlsdx.baihongyu.com/

你可能感兴趣的文章
写脚本遇到的问题(一)
查看>>
我的友情链接
查看>>
ALI OSS RequestTimeTooSkewed
查看>>
cengos6.3安装Intel Advanced-N 6205无线驱动
查看>>
redhat 6及centos5.6加载光驱并设置更新源yum
查看>>
P1162 填涂颜色
查看>>
[数据同步] Linux与Windows进行数据同步
查看>>
线性筛欧拉函数
查看>>
Python学习第一周学习总结
查看>>
计算机内存管理相关
查看>>
我的友情链接
查看>>
linux重启之后出错,和解决方法
查看>>
路由器G口S口对比实验
查看>>
我的友情链接
查看>>
3.1-Mysql的root密码重置
查看>>
页面切换代码
查看>>
expect dialogue
查看>>
zabbix使用自带模板监控MySQL
查看>>
python之执行shell命令
查看>>
SybaseIQ - 日期函数
查看>>