Javascript ReferenceError:if语句后未定义变量
我使用if语句设置页面,如下所示:Javascript ReferenceError:if语句后未定义变量,javascript,Javascript,我使用if语句设置页面,如下所示: loadMaintenances (query = {}, status) { if(status === 'changed'){ let page = 1 } else{ let page = this.page } console.log(page); }
loadMaintenances (query = {}, status) {
if(status === 'changed'){
let page = 1
}
else{
let page = this.page
}
console.log(page);
}
loadMaintenances (query = {}, status) {
let page = this.page
console.log(page);
}
然而,通过上面的代码,我得到了错误
[Vue warn]: Error in mounted hook: "ReferenceError: page is not defined"
但当我在if语句之外删除它时,如下所示:
loadMaintenances (query = {}, status) {
if(status === 'changed'){
let page = 1
}
else{
let page = this.page
}
console.log(page);
}
loadMaintenances (query = {}, status) {
let page = this.page
console.log(page);
}
它起作用了。我的if语句有问题吗?这确实是一个问题,每个数据标识符都有自己的作用域规则,通常“let”有块作用域,因此在块内使用“let”定义的变量仅在块内是局部变量,因此当您尝试在块外打印时,它显示为未定义 一个简单的解决方案是在if块之外声明变量页
loadMaintenances (query = {}, status) {
let page;
if(status === 'changed'){
page = 1
}
else{
page = this.page
}
console.log(page);
}
这确实是一个问题,每个数据标识符都有自己的作用域规则,通常“let”有块作用域,因此在块内使用“let”定义的变量仅在块内是局部变量,因此,当您尝试在块外打印它时,它会显示为未定义 一个简单的解决方案是在if块之外声明变量页
loadMaintenances (query = {}, status) {
let page;
if(status === 'changed'){
page = 1
}
else{
page = this.page
}
console.log(page);
}