首页 > Web开发 > 详细

JS中变量优先级

时间:2017-01-03 17:27:08      阅读:274      评论:0      收藏:0      [点我收藏+]

在JS中如果同时用变量和函数声明相同名字的函数,谁会先执行呢?

 function foo() {
    alert(2);
 }

 var foo = function() {
     alert(1);
 }

foo();

执行一下会发现alert弹出1,为什么是这样的呢?下面解释下原因。

因为在代码解析运行期间,变量的声明被提到当前作用域的最顶端,其次是函数的声明,所以就变成了:

var foo;

 function foo() {
    alert(2);
 }

foo = function() {
     alert(1);
 }

这样后面的声明就把前面的声明覆盖了,所以调用foo()时执行了后面的函数内容

本文出自 “12464580” 博客,转载请与作者联系!

JS中变量优先级

原文:http://12474580.blog.51cto.com/12464580/1888553

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!