JavaScript两种函数声明的区别
2017-09-16 21:31
155 查看
//1.函数声明 var functionName = function(){ alert("1"); } //2.函数表达式 function functionName(){ alert("2"); } //现在调用这个方法 functionName();
弹出的结果是什么呢?
是 2 吗?
如果你觉的是 2 ,那就错了,答案应该是1
再来看一下下边这个弹出的结果是什么?
//现在调用这个方法 functionName(); //1.函数声明 var functionName = function(){ alert("1"); } //2.函数表达式 function functionName(){ alert("2"); }
这个的结果应该是2
做一下总结吧!
上边所展示给我们的特点是函数表达式明显区别于函数声明的地方。
解释器在解析JavaScript代码时对于这两种方式并不是一视同仁的。解释器会首先读取函数声明,并使其在执行任何代码之前可用;而对于函数表达式,则必须等到解释器执行到它所在的代码行,才会被真正解析执行。
所以第一题中的2先被解释器读取,然后在执行时又读到了1,于是就把之前的2给覆盖了。
第二题也展示给我们了,无论函数声明放在哪里,JavaScript引擎也会把函数声明放到顶部;而函数表达式,只有在代码执行阶段才能把函数体赋值给 函数名,然后才能调用。
这个解释器究竟是干啥的呢?我觉得自己也有必要深入了解一下了,希望有看到文章的朋友们,有熟悉的可以一起交流分享一下,加油吧!
相关文章推荐
- 【JavaScript 学习--12】--js 中两种函数定义的区别:函数声明和函数表达式
- JavaScript几种函数声明方式的区别
- 栋栋晓12:Javascript学习总结:函数声明和函数表达式的区别,apply和call的区别,
- 从零开始学_JavaScript_系列(20)——js系列<7>(函数原型的两种声明方式、函数的作用域)
- 浅谈javascript 函数表达式和函数声明的区别
- javascript的执行顺序/函数声明和函数表达式的区别
- Javascript中两种方式定义函数的区别
- 详解Javascript 函数声明和函数表达式的区别
- JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别
- JavaScript 函数声明,函数表达式,匿名函数的区别,深入理解立即执行函数(function(){…})()
- JavaScript 函数声明、函数定义、匿名函数和闭包的区别
- javascript中函数声明与函数表达式的区别
- JavaScript中的函数声明和函数表达式区别浅析
- javascript 两种声明函数的方式的分析
- javascript基础(函数与方法的区别,变量作用域,变量和函数的声明提前,函数作用域)(十五)
- JavaScript立即执行函数的解释分析(2)—函数表达式与函数声明的区别
- javascript 函数声明与函数表达式的区别
- JavaScript立即执行函数的解释分析(2)—函数表达式与函数声明的区别
- 浅析javascript中函数声明和函数表达式的区别
- [ javascript ] javascript 函数声明与函数表达式的区别