3
所以我剛剛發現這一點:`toPrecision`和文字
let number = -1234;
console.log(number.toPrecision(3)); // -1.23e+3
console.log(-1234..toPrecision(3)); // -1230
誰能解釋到底是怎麼回事呢?我唯一能想到的是,在第二種情況下,優化器預先計算表達式,並且優化器的toPrecision
的實現與編譯器的不同。
測試於:
- Safari瀏覽器/ Mac的,版本10.1(12603.1.30.0.34)
- 鉻/ Mac的,版本59.0.3071.104(正式版本)(64位)
- 火狐/ Mac上,54.0.1(64位)
編輯:回覆:按小數點,偉大的觀察被觸發 - 但是,如果我們添加小數點到number
,它不會突然取消exponentise :
let number = -1234.5;
console.log(number.toPrecision(3)); // -1.23e+3
console.log(-1234.5.toPrecision(3)); // -1230
換句話說:字符串與數字 –
謝謝,我懷疑我錯過了一些明顯的東西! – Amadan
這個答案可以使用'typeof'來驗證。第一個產生'string',第二個產生'number'。 – 4castle