javascript - Javascript 中代码的执行顺序是什么?

标签 javascript order-of-execution

JavaScript 中的代码究竟是如何执行的?我的意思是按什么顺序?如果我像这样声明一个函数,执行顺序会有不同吗:

function render() {
    // Code here
}

而不是这个:

var render = new function(){
    // Same code here
}    

JavaScript 是否会执行脚本文件中定义的函数,而不管它们是否被事件处理程序调用? (例如 onload=function())。

最后,如果一个函数定义在另一个函数中,当父函数被调用时,下层函数是否也被调用了?例如

function a(){

    function b(){
        // code
    }

    function c(){
        //code
    }

}

我正在尝试具体了解 JavaScript 中的执行顺序。

最佳答案

var render = new function(){
  // same code here
}

new 关键字不会创建新函数。它通过运行函数创建一个新对象。所以这实际上会运行方法的主体并返回一个对象。

如果您询问函数何时被解析并添加到作用域,那么这是特定于实现的,但是所有函数都被提升到作用域的顶部并且通常在执行任何代码之前被解析。

当您通过调用 f() 调用函数时,函数仅执行

关于javascript - Javascript 中代码的执行顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6776796/

相关文章:

javascript - 不变违规 : _registerComponent(. ..):目标容器不是 DOM 元素

javascript - 如何将 mongoose 子文档分成单独的文件?

javascript - 使用 PIXI JS 更改弯曲文本中的字体大小

r 用于从地址中提取英国邮政编码的正则表达式未排序

unity3d - Unity脚本执行顺序和Start()

javascript - 需要知道屏幕上显示的是哪个div

javascript - 为什么 jquery 代码块中的 "return !1"会导致 url 对于链接到页面另一部分的 anchor 标记不更改?

unity-game-engine - 播放器预制脚本执行顺序

delay - 关于在 Verilog 和时序中计算延迟的细节

c++ - 解释此 C++ 代码中构造函数/析构函数的调用顺序