简体   繁体   English

Javascript:JSHint:需要一个赋值或函数调用,而是看到一个表达式

[英]Javascript: JSHint: Expected an assignment or function call and instead saw an expression

This code gives me two errors when I'm trying it in JSHint. 当我在JSHint中尝试时,此代码给我两个错误。 The error is: Expected an assignment or function call and instead saw an expression. 错误是: Expected an assignment or function call and instead saw an expression. I understand what the error mean, but I can't figure out why I'm recieving it. 我了解错误的含义,但无法弄清楚为什么收到该错误。 The code works as it is. 该代码按原样工作。

function flag(land, position) {
    this.pos = position,
    this.link = land,
    this.hideFlag = function () {
        position.innerHTML = ' ';
    },
    position.addEventListener('click', this.hideFlag.bind(this));  //Here
}

var elfenbenskusten = new flag('<div id="flag-elfenbenskusten" class="flag elfenbenskusten"><div class="part1"></div><div class="part2"></div></div>', document.getElementById('flag-elfenbenskusten')),
sverige = new flag('<div id="flag-sverige" class="flagga1 sverige"><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div></div>', document.getElementById('flag-sverige')),
maruritius = new flag('<div id="flag-maruritius" class="flagga2 maruritius"><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div><div class="box5"></div></div>', document.getElementById('flag-maruritius')),
japan = new flag('<div id="flag-japan" class="flagga3 japan"><div class="box1"></div><div class="cirkel1"></div></div>', document.getElementById('flag-japan')),

flags = [];
flags.push(
            elfenbenskusten,
            sverige,
            maruritius,
            japan
            ),

function () {
    for (var land = 0; land < flags.length; land++)
        flags[land].pos.innerHTML = flags[land].link;
}();  //Here

JSHint expects you to use separate statements (terminated with semi-colons) but you are using a single statement with each expression being separated with the comma operator. JSHint希望您使用单独的语句(以分号结尾),但是您正在使用单个语句,每个表达式都用逗号运算符分隔。

That also allows you to unwrap your for loop from the function expression. 这也使您可以从函数表达式中解开for循环。

function flag(land, position) {
    this.pos = position;
    this.link = land;
    this.hideFlag = function () {
        position.innerHTML = ' ';
    };
    position.addEventListener('click', this.hideFlag.bind(this));
}

var elfenbenskusten = new flag('<div id="flag-elfenbenskusten" class="flag elfenbenskusten"><div class="part1"></div><div class="part2"></div></div>', document.getElementById('flag-elfenbenskusten')),
sverige = new flag('<div id="flag-sverige" class="flagga1 sverige"><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div></div>', document.getElementById('flag-sverige')),
maruritius = new flag('<div id="flag-maruritius" class="flagga2 maruritius"><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div><div class="box5"></div></div>', document.getElementById('flag-maruritius')),
japan = new flag('<div id="flag-japan" class="flagga3 japan"><div class="box1"></div><div class="cirkel1"></div></div>', document.getElementById('flag-japan')),

flags = [];
flags.push(
            elfenbenskusten,
            sverige,
            maruritius,
            japan
            );


for (var land = 0; land < flags.length; land++) {
  flags[land].pos.innerHTML = flags[land].link;
}
function flag(land, position) {
    this.pos = position,           // <== why , and not ;?
    this.link = land,              // <== why , and not ;?
    this.hideFlag = function () {
        position.innerHTML = ' ';
    },                             // <== why , and not ;?
    position.addEventListener('click', this.hideFlag.bind(this));  //Here
}

and also at the end of the flag.push() 并在flag.push()的末尾

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 警告带有主干的JSHint:预期分配或函数调用,而是看到一个表达式 - Warning JSHint with backbone : Expected an assignment or function call and instead saw an expression JsHint:“期望分配或函数调用,而是看到一个表达式”,Switch语句 - JsHint: “Expected an assignment or function call and instead saw an expression”, Switch statement JSHint错误:预期分配或函数调用,而是看到一个表达式 - JSHint error: Expected an assignment or function call and instead saw an expression JShint:期望一个赋值或函数调用,而是看到一个表达式 - JShint :Expected an assignment or function call and instead saw an expression JSHint 错误 - 需要赋值或函数调用,而看到的是表达式 - JSHint error - Expected an assignment or function call and instead saw an expression JSHint - 期望一个条件表达式,而不是看到一个赋值 - JSHint -Expected a conditional expression and instead saw an assignment Javascript:需要一个赋值或函数调用,而是看到一个表达式 - Javascript: Expected an assignment or function call and instead saw an expression JavaScript:期望和赋值或函数调用,而是看到一个表达式 - JavaScript : Expected and assignment or function call and instead saw an expression 三元运算符在JSHint中显示错误-预期分配或函数调用,而是看到一个表达式 - Ternary operator displays error in JSHint - Expected an assignment or function call and instead saw an expression 期望一个赋值或函数调用,而是看到了一个带有JavaScript的表达式 - expected an assignment or function call and instead saw an expression with JavaScript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM