Function Declaration 與 Function Expression 的差異
栏目: JavaScript · 发布时间: 7年前
内容简介:Function Declaration 與 Function Expression 寫法看似相等,但 Function Declaration 會 Hoisting,而 Function Expression 不會。ECMAScript 5ECMAScript 2015
Function Declaration 與 Function Expression 寫法看似相等,但 Function Declaration 會 Hoisting,而 Function Expression 不會。
Version
ECMAScript 5
ECMAScript 2015
Function Declaration
console.log(sum(1, 2));
function sum(x, y) {
return x + y;
}
使用 Function Declaration 定義 sum() ,雖然定義在 console.log() 下方,但依然能夠執行。
Function Expression
console.log(sum(1, 2)); const sum = (x, y) => x + y;
將 sum() 改用 Function Expression 方式,看起來完全一樣,但卻無法執行。
Why ?
原因在於 Function Declaration 會 Hoisting,所以儘管 sum() 定義在 console.log() 之後,但執行前會先 Hoisting 到最前面,所以仍然可以正常執行。
但 Function Expression 則不會 Hoisting,所以 sum() 必須定義在 console.log() 之前才能執行。
Conclusion
- Function Declaration 看似與 Function Expression 一樣,都是定義 function,但卻有 Hoisting 的差異
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
iBATIS实战
(加)Clinton Begin、(加)Brandon Goodin、(加)Larry Meadors / 叶俊 / 人民邮电出版社 / 2008-5 / 45.00元
《图灵程序设计丛书•Java系列•iBATIS in Action iBATIS实战》是讲述iBATIS框架的权威著作。书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。《图灵程序设计丛书•Java系列•iBATIS in Action iBATIS实战》的最后给出了一个设计优雅、层次清晰的示例程序JGa......一起来看看 《iBATIS实战》 这本书的介绍吧!
XML 在线格式化
在线 XML 格式化压缩工具
UNIX 时间戳转换
UNIX 时间戳转换