1 回答

富國滬深
TA貢獻1790條經(jīng)驗 獲得超9個贊
進行減法運算的時候,js會試圖把兩邊的表達式都轉成數(shù)字,讓運算得以進行(算是小小的糾錯行為),變成1-(-1),得2。
至于沒有空格報錯呢,完全就是語法錯誤。。
而且這是錯誤不是什么常量不常量的問題, 哪怕?lián)Q成變量, a--b也是錯誤的語法啊, 解析器連糾錯都不知道怎么糾, 如果給你弄成 a-(-b) 嗎? 那等于是直接會破壞掉--, 破壞邏輯了啊.
除非你 a---b, 解析器能給你弄成 (a--)-b, 但這樣的寫法也很搞笑啊, 沒準你想表達的是 a-(--b)呢?
解析器只會在意義(它認為)比較明確的時候,給你做一點糾正, 就像 ''-'' js里只有數(shù)字支持減法運算, 所以你不是數(shù)字它會給你轉成數(shù)字, 但 ''+''和 0+'', 這種情況它就需要根據(jù)你第一個表達式來做糾正了, 不然它哪知道你是要做拼串還是加法. 至于 把--弄成 - -, 那可就太惡劣了, 完全就是破壞性的糾錯, 它是肯定不能做的.
不要太糾結這種東西,娛樂性質(zhì)的題目。。真正擼代碼的時候我相信腦子正常的人都不會這么做的
添加回答
舉報
0/150
提交
取消