Javascript 在jQuery的document.ready函数外部创建全局变量

Javascript 在jQuery的document.ready函数外部创建全局变量,javascript,html,jquery,Javascript,Html,Jquery,我有一个函数CreateTable和generate constant variable。我想访问其他函数中的变量。我点击按钮调用函数generatePDF。在这里,我想检查generateTable函数中生成的伪值的长度。 现在获取错误消息“UncaughtReferenceError:dummy未定义” $(文档).ready(函数(){ 可生成(); 函数generateTable(){ 常数虚拟=[{ “键”:“值”, “键1”:“值1” }];//由其他函数创建; } } 函数gen

我有一个函数CreateTable和generate constant variable。我想访问其他函数中的变量。我点击按钮调用函数generatePDF。在这里,我想检查generateTable函数中生成的伪值的长度。 现在获取错误消息“UncaughtReferenceError:dummy未定义”

$(文档).ready(函数(){
可生成();
函数generateTable(){
常数虚拟=[{
“键”:“值”,
“键1”:“值1”
}];//由其他函数创建;
}
}
函数generatePDF(){
if(虚拟长度){
//做一件事
警惕(“你好”);
}
}

Make PDF
首先将函数外部的变量声明为

const dummy;

然后编写其他代码。现在它可以全局使用。

这是因为变量“dummy”不是全局变量。 它是函数generateTable中的局部变量

let-dummy;
可生成();
函数generateTable(){
dummy=[{key:“value”,key1:“value1”}];//由其他一些函数创建;
}
函数generatePDF(){
if(虚拟长度){
//做一件事
警惕(“你好”);
}
}

Make PDF
伪值只能在此函数generateTable中使用。如果要使用伪值,应定义一个全局变量。

可以在document ready函数外部声明一个
全局
变量,当
DOM
准备就绪时,它将变为可用

运行下面的代码段

//全局变量
让假人;
//文件准备就绪,从这里开始
$(文档).ready(函数(){
函数generateTable(){
虚拟=[{
“键”:“值”,
“键1”:“值1”
}];//由其他函数创建;
}
可生成();
});
//外部文件准备就绪
函数generatePDF(){
if(虚拟长度){
//做一件事
警惕(“你好”);
}
}

制作PDF
$(文档).ready(函数(){
var x;
x=可生成表();
函数generateTable(){
常数虚拟=[{
“键”:“值”,
“键1”:“值1”
}];//由其他函数创建;
返回(虚拟);
}
}
函数generatePDF(){
如果(x.长度){
//做一件事
警惕(“你好”);
}

}
并且在函数中不要添加“const”在外部声明变量后,在变量前面。您不能/不应该重写
const
声明;另外,不鼓励使用全局变量。我的意思是,只需声明它,然后在document.ready函数中设置您需要的.generateTable的值。因此,未定义如何获取generatePdf。请检查我更新的帖子