alert(out1)输出:姓名
alert(out12)输出:姓名男女

解决方案 »

  1.   

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Operator_precedence "" + a[0].age 一组
    "" + a[0].sex  一组
      

  2.   

    下表按从最高到最低的优先级列出 JS 运算符。具有相同优先级的运算符按从左至右的顺序求值。 运算符 描述 
    . [] () 字段访问、数组下标、函数调用以及表达式分组 
    ++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值 
    * / % 乘法、除法、取模 
    + - + 加法、减法、字符串连接 
    << >> >>> 移位 
    < <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof 
    == != === !== 等于、不等于、严格相等、非严格相等 
    & 按位与 
    ^ 按位异或 
    | 按位或 
    && 逻辑与 
    || 逻辑或 
    ?: 条件 
    = oP= 赋值、运算赋值 
    , 多重求值 
    圆括号可用来改变运算符优先级所决定的求值顺序。这意味着圆括号中的表达式应在其用于表达式的其余部分之前全部被求值。 
      

  3.   

    这主要是不优先级问题,out1,out2压根就是两种不同的数值。
    out1=a||b||c... 意思是取当中的一个值
    out2=(a)+(b)+(c) 是字符串拼接