函数未在Javascript中调用

函数未在Javascript中调用,javascript,google-chrome,visual-studio-code,Javascript,Google Chrome,Visual Studio Code,Javascript的新特性和它的怪癖。谁能给我解释一下吗?它在CodeSandbox中运行良好,但在VSCode和Chrome中,我遇到了这个问题: 此代码中未调用设置函数: function init(){ ... } function setup(){ ... } init(); setup(); function init(){ ... setup(); } function setup(){ ... } init(); 在此代码中调用的设置函数: fun

Javascript的新特性和它的怪癖。谁能给我解释一下吗?它在CodeSandbox中运行良好,但在VSCode和Chrome中,我遇到了这个问题:

此代码中未调用设置函数:

function init(){
  ...
}

function setup(){
  ...
}

init();
setup();
function init(){
  ...
  setup();
}

function setup(){
  ...
}

init();
在此代码中调用的设置函数:

function init(){
  ...
}

function setup(){
  ...
}

init();
setup();
function init(){
  ...
  setup();
}

function setup(){
  ...
}

init();
为什么它会在最后一个示例中执行,而不是在第一个示例中执行?

只需删除这行文档。addEventListener'DOMContentLoaded',init就可以了

当页面完全加载和解析时,将触发DOMContentLoaded事件。因此,发生了以下情况:

init();
setup();
init(); <--- due to DOMContentLoaded event

据我所知,这两种方法都应该有效。这就是你实际项目中的代码结构吗?你能展示一下init的全部代码吗?也许你有一些无限循环,它从不调用下一个函数…第一个例子的init里面有什么?函数init{window.ctx.fillStyle='black';window.ctx.fillRect0,0800400;}@llamaCaraDara编辑你的问题,而不是在注释中添加代码。您如何知道从未调用过安装程序?同时显示此代码。是的!事情就是这样。非常感谢。