JS中定义函数的两种方式哪个优先级高·引出变量和函数声明的运行顺序

发布时间:2020-07-26 18:19:15 作者:Nancy_Huo
来源:网络 阅读:984

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

 function foo() {
    alert(2);
 }

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

foo();

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

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

var foo;

 function foo() {
    alert(2);
 }

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

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

推荐阅读:
  1. JS中函数声明与函数表达式的异同
  2. node.js中函数的两种封装方式

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

优先级 j 两种方式

上一篇:lua require与module

下一篇:什么是架构?Untiy开发游戏使用什么架构合适?

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》