gpt4 book ai didi

javascript - 表达式中使用了未声明、未初始化的变量 : what to think?

转载 作者:行者123 更新时间:2023-12-02 15:40:45 25 4
gpt4 key购买 nike

我正在努力理解以下代码片段(位于名为 program.js 的文件中)。我的问题是,我找不到在此文件中声明和/或初始化 CODERBOT_PROG_SAVEONRUN 的位置。似乎没有导入任何外部代码或库。

我在 this 的许多其他地方遇到了同样的问题特别是project 。这是 JavaScript 的一个奇怪的功能,还是我应该寻找其他地方?

如果在给定的 JavaScript 文件中使用了变量但未对其进行初始化和声明,我应该怎么想?

如果没有明显的“导入”声明,它从哪里来?

function runProg() {
var bot = new CoderBot();
// Generate JavaScript code and run it.
window.LoopTrap = 1000;
Blockly.Python.INFINITE_LOOP_TRAP = ' get_prog_eng().check_end()\n';
var code = Blockly.Python.workspaceToCode();

if(CODERBOT_PROG_SAVEONRUN) {
Blockly.Python.INFINITE_LOOP_TRAP = null;
var xml_code = Blockly.Xml.workspaceToDom(Blockly.mainWorkspace);
var dom_code = Blockly.Xml.domToText(xml_code);
var data = {'name': prog.name, 'dom_code': dom_code, 'code': code};
try {
$.ajax({url: '/program/save', data: data, type: "POST", success:function(){
loadProgList();
}});
}catch (e) {
alert(e);
}
}
try {
var data = {'name': prog.name, 'code': code};
$.ajax({url: '/program/exec', data: data, type: "POST"});
$("#dialogRunning").popup("open", {transition: "pop"});
setTimeout(statusProg, 1000);
} catch (e) {
alert(e);
}
}

最佳答案

在 JavaScript 中,存在全局上下文和由函数定义的局部上下文。如果变量未在函数内部定义,则它是在全局上下文中定义的。在浏览器中,全局上下文是window;您在该窗口中运行的所有脚本共享相同的全局上下文。

您要查找的变量在 templates/config_params.html 中定义。它和 program.js 脚本都包含在 templates/main.html 中,这使得在显示该页面时,每个脚本的全局变量对另一个可见。

关于javascript - 表达式中使用了未声明、未初始化的变量 : what to think?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32599240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com