我正在尝试在视频播放时突出显示视频字幕。 captionTime变量出现 Uncaught ReferenceError:未定义captionTime at:1:1 在条件语句中。如果我在条件语句之外使用console.log它可以正常工作。是因为功能范围吗?
Ubuntu 16.04 LTS
答案 0 :(得分:0)
这是因为let
范围规则。
来自JS MDN:
function varTest() {
var x = 1;
if (true) {
var x = 2; // same variable!
console.log(x); // 2
}
console.log(x); // 2
}
function letTest() {
let x = 1;
if (true) {
let x = 2; // different variable
console.log(x); // 2
}
console.log(x); // 1
}
您可以在此SO问题中阅读更多相关信息:
What's the difference between using “let” and “var” to declare a variable?