2015-03-13 25 views
-3

我一直在我行17获得SyntaxError: missing variable namevar drawSverige = document.getElementById('draw-sverige')的Javascript:语法错误:缺少变量名

我似乎无法找出原因。在drawSverige这个词之前它清楚地表明了“var”。

!function() { 
    'use strict'; 

    function flag(){ 
     this.init = function (flag, country){ 
      this.flagInfo = country 
      this.htmlTag = flag 
       } 
     } 

     this.draw = function() { 
      this.htmlTag.innerHTML = this.flagInfo 
     }; 


     var flagSverige = document.getElementById('flag-sverige'), 
     var drawSverige = document.getElementById('draw-sverige'), 

     var flagElfenbenskusten = document.getElementById('flag-elfenbenskusten'), 
     var drawElfenbenskusten = document.getElementById('draw-elfenbenskusten'), 

     var flagMaruritius = document.getElementById('flag-maruritius'), 
     var drawMaruritius = document.getElementById('draw-maruritius'), 

     var flagJapan = document.getElementById('flag-japan'), 
     var drawJapan = document.getElementById('draw-japan'), 

     showSverige = new flag; 
     showSverige.init(flag, '<div class="flagga1 sverige"><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div></div>'); 

     var showElfenbenskusten = new flag; 
     showElfenbenskusten.init(flag, '<div class="flag elfenbenskusten"><div class="part1"></div><div class="part2"></div></div>'); 

     var showMaruritius = new flag; 
     showMaruritius.init(flag, '<div class="flagga2 maruritius"><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div><div class="box5"></div></div>'); 

     var showJapan = new flag; 
     showJapan.init(flag, '<div class="flagga3 japan"><div class="box1"></div><div class="cirkel1"></div></div>'); 

     for (var flagx = [ 
      flagSverige, 
      flagElfenbenskusten, 
      flagMaruritius, 
      flagJapan 
      ], tot = 0; tot < flagx.length; tot++) 
      flagx[tot].draw(); 

}(); 
+1

为什么你用逗号而不是分号结束你的行?如果您打算使用逗号在一行中声明多个'var',则只需要'var'关键字一次。你有什么是无效的语法。 – mbcrute 2015-03-13 12:51:00

+1

要么你用'var'定义每个变量,要么用逗号分隔它们,但是你不能同时做两个变量。 – JJJ 2015-03-13 12:51:23

+0

(题外话:这个数据结构会更聪明地实现使用单个数组/对象,而不是多个单独的变量)。 – JJJ 2015-03-13 12:52:51

回答

4

因为使用comma后的第一个后声明,以便去除var关键词中

var flagSverige = document.getElementById('flag-sverige'), 
     drawSverige = document.getElementById('draw-sverige'), 

     flagElfenbenskusten = document.getElementById('flag-elfenbenskusten'), 
     drawElfenbenskusten = document.getElementById('draw-elfenbenskusten'), 

     flagMaruritius = document.getElementById('flag-maruritius'), 
     drawMaruritius = document.getElementById('draw-maruritius'), 

     flagJapan = document.getElementById('flag-japan'), 
     drawJapan = document.getElementById('draw-japan'); 
0

您的变量中的每一个都在最后一个逗号。

用';'替换','你应该修好。