文章预览
本文来分享一些 JavaScript 中离谱的设计,这些设计日常开发遇到的概率可能比较小,但面试可能会问到噢! parseInt(0.0000005) 答案:5 parseInt ( 0.5 ) ; // -> 0 parseInt ( 0.05 ) ; // -> 0 parseInt ( 0.005 ) ; // -> 0 parseInt ( 0.0005 ) ; // -> 0 parseInt ( 0.00005 ) ; // -> 0 parseInt ( 0.000005 ) ; // -> 0 parseInt ( 0.0000005 ) ; // -> 5 parseInt 函数将其第一个参数转换为字符串(如果它还不是字符串),然后再转换为数字。当将 0.0000005 转换为字符串时,会得到以下结果: String ( 0.0000005 ) ; // -> "5e-7" 然后 parseInt 函数只取该字符串的第一个字符,即 5,并将其解析为一个数字。 [] == ![] 答案: true [] == ![] 之所以返回 true ,是因为比较过程中发生了隐式的类型转换。下面来逐步解析: [] 是一个空数组,它是真值。 ![] 是 false ,因为当将空数组强制转换为布尔值时,它变为 true
………………………………