如何修复这里的 jslint 错误? https://jsfiddle.net/cfv2g1ho/
[JSLint was unable to finish] Expected an identifier and instead saw '0'.
function onYouTubeIframeAPIReady() {
let playerVarsList = {
0: {
playerVars: {
playlist: "0dgNc5S8cLI,mnfmQe8Mv1g,-Xgi_way56U,CHahce95B1g"
}
},
1: {
playerVars: {
listType: "playlist",
list: "PLYeOyMz9C9kYmnPHfw5-ItOxYBiMG4amq"
}
}
}
//to add the player to all the play buttons
const totalP = document.querySelectorAll('[data-container="play1"]').length;
//looping over all the play buttons and adding player to that
for (let i = 0; i < totalP; i++) {
players.add(".playSingle" + i, (playerVarsList[i] || {}));
}
players.add(".playInitial", {});
}
最佳答案
0
不是有效标识符,但是 "0"
是。但是您将对象作为数组处理 - 那么为什么不使用数组而不是对象呢?
let playerVarsList = [
{
playerVars: {
playlist: "0dgNc5S8cLI,mnfmQe8Mv1g,-Xgi_way56U,CHahce95B1g"
}
},
{
playerVars: {
listType: "playlist",
list: "PLYeOyMz9C9kYmnPHfw5-ItOxYBiMG4amq"
}
}
]
但是,如果您确实有某些理由绝对使用某个对象:
let playerVarsList = {
"0": {
playerVars: {
playlist: "0dgNc5S8cLI,mnfmQe8Mv1g,-Xgi_way56U,CHahce95B1g"
}
},
"1": {
playerVars: {
listType: "playlist",
list: "PLYeOyMz9C9kYmnPHfw5-ItOxYBiMG4amq"
}
}
}
小心使用 strict mode混合数字和字符串时,例如如果启用严格模式,playerVarsList[i]
将不起作用。
关于javascript - 需要一个标识符,却看到了 '0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74914431/