<html>
<body>
<script>
a = 1,2,3,56;
document.write(a,"<br>");//输出1
var b = 1,2,3,56;
document.write(a,"<br>");//出错,缺少标示符。
</script>
</body>
</html>

解决方案 »

  1.   

    <html> 
    <body> 
    <script> 
    a = 1,2,3,56; 
    document.write(a," <br>");//输出1 
    var b = 1,2,3,56; 
    document.write(b," <br>");//出错,缺少标示符。 
    </script> 
    </body> 
    </html>
      

  2.   

    逗号表达式允许在一条语句中执行多个表达式a = 1, 2, 3, 56; 相当于a=1; 2; 3; 56;var b = 1, 2, 3, 56; 相当于var b = 1; var 2; var 3; var 56; 显然语法是错误
      

  3.   

    如果你想输出"1,2,3,56",就应该定义a或b为一个一个字符串变量,例如var a="1,2,3,56",这样就能输出结果了.而a=1,2,3,56只能让a=1
    至于隐式和显式定义的区别,看下面的例子:function foo(){
        var num1=123;
        num2=456;
    }
    foo();//执行函数
    alert(num2);//显示456
    alert(num1);//不显示,提示num1未定义在这个例子里面num2是隐式定义,因此默认为全局变量,可以输出;而num1由于是在函数里面显式定义,因此其只在函数里面起作用,在全局环境下不能引用。