JS 语法 问题 : console.log((1,2)) 为什么只输出 2
console.log((1,2))为什么只输出2,逗号运算符,它将先计算左边的参数,再计算右边的参数值。然后返回最右边参数的值。http://blog.csdn.net...
console.log((1,2)) 为什么只输出 2
, 逗号运算符,它将先计算左边的参数,再计算右边的参数值。然后返回最右边参数的值。
http://blog.csdn.net/wl110231/article/details/8162732 展开
, 逗号运算符,它将先计算左边的参数,再计算右边的参数值。然后返回最右边参数的值。
http://blog.csdn.net/wl110231/article/details/8162732 展开
1个回答
展开全部
console.log((1,2))就散知相当于
var a=(1,2); console.log(a);
而 alert(typeof a)得出a是Number类型,而上面这种声明方法(即在悉掘纳括号里面多个数值并用逗号隔开)睁没,实际上真正的值是最后一个,即var a=(1,2)=2;
所以console.log((1,2))=console.log(2)
console.log((1,2)+1)结果就是3
var a=(1,2); console.log(a);
而 alert(typeof a)得出a是Number类型,而上面这种声明方法(即在悉掘纳括号里面多个数值并用逗号隔开)睁没,实际上真正的值是最后一个,即var a=(1,2)=2;
所以console.log((1,2))=console.log(2)
console.log((1,2)+1)结果就是3
追问
var a=(1,2);
这样的语法是很奇怪的
但这样写不是抛出异常而是得到括号内最后一个值
这是在设计js的时候有什么特殊的意义吗?
追答
JS的语言很宽松,这种写法搁其他语言是会报错的。而且你这种写法基本不会见到,而这种写法的解析就相当于var a=1=2;所以a的值总是被最后一个覆盖,所以得出的一直是最后一个值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询