JavaScript 基础知识-function & 变数的先后顺序

这次来探讨顺序的先后问题,比较 function 跟变数,有何差异性

假设以下情况:

 console.log(a); var a; console.log(a); a = 10; console.log(a);

这时候在 console 会输出什么呢 ?

答案是:
显示错误
undefinded
10

这里说明一下
第一行 console 因为我们前面并未宣告此变数,所以显示错误
第二行,我们宣告了变数 a 但并未赋予值
所以第三行会显示 undefinded
第四行,变数 a 赋予了值 10
所以第五行,才会输出 10

所以当我们在撰写变数的顺序时,一定会先宣告且赋予值,才会去做计算或者输出
这样的情况,当拿来 function 的时候,又会如何?

程式码如下:

greet();function greet(){    alert('hello');}

我们先呼叫greet();函式,才去宣告函式 greet()
按照上述变数的逻辑,在 function 是否会出现错误?

其实是不会的,这是因为当 JavaScript 在执行时,会先把宣告的函式都先自动移到最前面
所以读取时顺序会是:

function greet(){    alert('hello');}greet();

但通常大部分的人在撰写 JavaScript 时,都会自动把宣告的函式写在最前面
所以在 JavaScript 的世界里,顺序是很重要的,都有可能是造成错误的其中原因之一。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章