Javascript 为什么退货的类型是;string1";或;编号1“;
我遇到了奇怪的行为类型的经营者,我并没有找到任何东西,无论在哪里描述这种行为Javascript 为什么退货的类型是;string1";或;编号1“;,javascript,Javascript,我遇到了奇怪的行为类型的经营者,我并没有找到任何东西,无论在哪里描述这种行为 typeof ([(0==0)+(0==0)]+[0])+((0==0)<<0) // "string1" typeof (0^[(0==0)+(0==0)]+[0])+((0==0)<<0) // "number1" typeof (0>>(0==0))+([0]+[(0==0)+(0==0)]^0) // "number2" typeof([(0==0)+(0==0)]+[
typeof ([(0==0)+(0==0)]+[0])+((0==0)<<0) // "string1"
typeof (0^[(0==0)+(0==0)]+[0])+((0==0)<<0) // "number1"
typeof (0>>(0==0))+([0]+[(0==0)+(0==0)]^0) // "number2"
typeof([(0==0)+(0==0)]+[0])+((0==0)您正在串联执行两个操作:
typeof ([(0==0)+(0==0)]+[0]) + ((0==0)<<0)
"string" + ((0==0)<<0)
"string" + 1
"string1"
typeof([(0==0)+(0==0)]+[0])+((0==0)您正在串联执行两个操作:
typeof ([(0==0)+(0==0)]+[0]) + ((0==0)<<0)
"string" + ((0==0)<<0)
"string" + 1
"string1"
typeof([(0==0)+(0==0)]+[0])+((0==0)或多或少:
typeof ([(0==0)+(0==0)]+[0])+((0==0)<<0)
= typeof ([ 1 + 1 ]+[0])+(1<<0)
= typeof ( [2] +[0])+(1)
= typeof ("20") + 1
= "string" + 1
= "string1"
typeof([(0==0)+(0==0)]+[0])+((0==0)或多或少:
typeof ([(0==0)+(0==0)]+[0])+((0==0)<<0)
= typeof ([ 1 + 1 ]+[0])+(1<<0)
= typeof ( [2] +[0])+(1)
= typeof ("20") + 1
= "string" + 1
= "string1"
typeof([(0==0)+(0==0)]+[0])+((0==0)因为((0==0)typeof
与+
具有相同的优先级,并且由于两者都是从右向左关联的,typeof X
首先执行。或者类似的操作。@megawac是的,你是对的!我没有注意到括号没有变。@FelixKling谢谢你。由于疲劳,我没有注意到错误。因为((0==0)typeof
与+
具有相同的优先级,并且由于两者都是从右到左关联的,typeof X
首先执行。或者类似的操作。@megawac是的,你是对的!我没有注意到括号没有变。@FelixKling谢谢你。由于疲劳,我没有注意到这个错误。