首页 > 代码库 > JS定义函数的两种方式:函数声明和函数表达式
JS定义函数的两种方式:函数声明和函数表达式
函数声明
关于函数声明的方式,它的一个重要的特性就是函数声明提升(function declaration hoisting),意思是在执行代码之前会先读取函数声明。这就意味着可以把函数声明放在调用它的语句后面,如下所示:
1 sayHi(); //在调用语句的后面声明函数(function declaration hoisting) 2 function sayHi () { 3 console.log("Hello World"); 4 }
函数表达式
有多种表达方式,下面是最常见的一种:
var s = function (agr1, arg2) { console.log(arg1 + ‘ ‘ + arg2); }
按照书中所说,函数声明语句,声明函数实际是声明了一个变量f,然后将一个声明的函数对象赋值给变量f,变量的声明有提至所有代码顶部的特点,故函数声明语句声明的函数可以在声明之前调用。
至于为什么同样是将一个函数赋值给一个变量,函数表达式却不能提到前面呢?我们来分析下:
var s = function(arg1, arg2) {};
可以拆分为:
var s; s = function (arg1, arg2) {}
其中 var s
被提前声明了,但 s = xxxx
是要在运行到这里的时候才进行。
JS定义函数的两种方式:函数声明和函数表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。