Javascript定义对象,逗号大小写

时间:2013-03-01 18:58:05

标签: javascript object

当我在Javascript中尝试一些fundemantels时,我遇到了一个让我感到惊讶的问题,我无法找到答案。 我得到了以下,这是完美的:

var obj= new Object ();
    obj.test = "Hello" 

    obj.testTwo= function (){
        console.log(this.test)
    },obj.testTwo();

当我在没有逗号的情况下尝试它时,它不起作用。

var obj= new Object ();
    obj.test = "Hello" 

    obj.testTwo= function (){
        console.log(this.test)
    }obj.testTwo();

所以我尝试了这个作为第三种选择......它有效吗?

var obj= new Object ();
    obj.test = "Hello" 

    obj.testTwo= function (){
        console.log(this.test)
    }
    obj.testTwo();

现在我很安静。为什么要使用逗号?为什么它会中断?

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

在第一个代码段中,逗号运算符在记录时履行其职责:“evaluates both of its operands (from left to right) and returns the value of the second operand.MDN

基本上你的第二个片段是作业。分配应始终以分号结束,即使它们的最后一个表达式是一个语句块。但是,这对ASI来说并不明显。因此,在代码块和对象方法调用之间没有分号或换行符的情况下,此代码段失败,其中解释器期望查看运算符或终止赋值。如果未找到这些,则会引发Unexpected token错误。同样的解释代表了第三个片段的工作原理。

答案 2 :(得分:0)

逗号运算符计算它的两个操作数(从左到右)并返回第二个操作数的值。

因此,它会评估您的代码。但是当你把它们组合在一起时就不会这样了。

阅读more ...

示例:

和你做的时候一样

var a = 10, b = 40;

答案 3 :(得分:0)

换行符(\n\r\n)和逗号(,)充当语句分隔符。