我不明白我的代码中的语法错误

时间:2011-10-26 22:43:30

标签: javascript

我的文本编辑器不喜欢这段代码我不知道为什么

<script type="text/javascript">
function randmg(){
var img = [
      "banner1.png",
      "banner2.png",
      "banner3.png",
      "banner4.png"
]
var maxImg = img.length;
var randNum = Math.floor(Math.random()*maxImg)
return img[randNum]
}
</script>

它说错误在第四行“var img - [”

我认为我是阵列下var的使用/位置,但我无法修复它

已更改为

function randmg(){
var img = ["banner1.png","banner2.png","banner3.png","banner4.png"];
var maxImg = img.length;
var randNum = Math.floor(Math.random()*maxImg);
return img[randNum];
}

但仍有同样的问题

3 个答案:

答案 0 :(得分:3)

是的,你需要在该数组的末尾添加一个分号。

var img = [
      "banner1.png",
      "banner2.png",
      "banner3.png",
      "banner4.png"
];

答案 1 :(得分:2)

你应该有分号和每个语句的结尾:

 function randmg(){
      var img = [
            "banner1.png",
            "banner2.png",
            "banner3.png",
            "banner4.png"
      ]; //here
      var maxImg = img.length;
      var randNum = Math.floor(Math.random()*maxImg); //here
      return img[randNum]; //here
 }

虽然由于遗留原因,它们不是必需,但我们强烈建议您这样做。在这种情况下代码运行,但没有理由省略它们。

答案 2 :(得分:1)

考虑这个改写:

var randmg = (function () {
    var img = [
        'banner1.png',
        'banner2.png',
        'banner3.png',
        'banner4.png'
    ];

    return function () {
        return img[ Math.floor( Math.random() * img.length ) ];
    };
})();