为什么说 JS 是一门很混乱的语言

JavaScript022

为什么说 JS 是一门很混乱的语言,第1张

首先,js要面对多种解析器,每种浏览器都是一种不同的解析器,虽然有标准,但有些浏览器就是不按标准来(比如IE)。此种情况下,js不乱才怪!就好像中文,虽然是统一的语言,但每一省每一市每一县甚至每一乡的语音都不一样,乱吗?乱!

其次,js还要跨平台!只要是能浏览网页的系统或设备,几乎都能运行js,这样js就要面对各种不同需求的挑战,众口难调,再好的厨师也不可能什么菜都能做得完美,乱是必须的。

最后,一种语言如果给人乱的感觉,那是因为用的人多,用途广泛,是不可或缺的表现!

我也觉得三元运算太长了,可读性不好。但是你例子中不算太复杂。

var b1 = true, b2 = true, v1 = 'v1', v2 = 'v2', v3 = 'v3'

console.log(b1 ? b2 ? v1 : v2 : v3)

b1 = false

console.log(b1 ? b2 : v1 ? v2 : v3)

console.log(b1 ? b2 ? v1 : v2 : v3)

像上边这种有嵌套的,一般是从右边开駋找到一对?:算单独的一组,再把这一组作为一个独立的元素看,比如上边最后一行,从右向左发现”b2 ? v1 : v2“可以看作一个运算单元,

console.log(b1 ? (b2 ? v1 : v2) : v3)

b1为false,直接返回了v3.如果b1为true,将返回(b2 ? v1 : v2)的结果。