javascript
廖雪峰javascript教程学习记录
$1.數(shù)據(jù)類型和變量
1.不區(qū)分整數(shù)和浮點數(shù),統(tǒng)一用Number
2.字符串String
3.布爾值
注意:
(1)
實際上,JavaScript允許對任意數(shù)據(jù)類型做比較;
要特別注意相等運算符==。
第二種是===比較,它不會自動轉(zhuǎn)換數(shù)據(jù)類型,如果數(shù)據(jù)類型不一致,返回false,如果一致,再比較。
由于JavaScript這個設(shè)計缺陷,不要使用==比較,始終堅持使用===比較。
(2)
另一個例外是NaN這個特殊的Number與所有其他值都不相等,包括它自己:
NaN === NaN; // false唯一能判斷NaN的方法是通過isNaN()函數(shù):
isNaN(NaN); // true(3)
最后要注意浮點數(shù)的相等比較:
1 / 3 === (1 - 2 / 3); // false這不是JavaScript的設(shè)計缺陷。浮點數(shù)在運算過程中會產(chǎn)生誤差,因為計算機無法精確表示無限循環(huán)小數(shù)。要比較兩個浮點數(shù)是否相等,只能計算它們之差的絕對值,看是否小于某個閾值:
Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true4.null和undefined
null表示一個“空”的值,它和0以及空字符串''不同,0是一個數(shù)值,''表示長度為0的字符串,而null表示“空”.
JavaScript的設(shè)計者希望用null表示一個空的值,而undefined表示值未定義。事實證明,這并沒有什么卵用,區(qū)分兩者的意義不大。大多數(shù)情況下,我們都應(yīng)該用null。undefined僅僅在判斷函數(shù)參數(shù)是否傳遞的情況下有用。
?轉(zhuǎn)載于:https://www.cnblogs.com/shiliu123456/p/5700297.html
總結(jié)
以上是生活随笔為你收集整理的廖雪峰javascript教程学习记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java-并发-并发容器(3)
- 下一篇: 05传智_jbpm与OA项目_部门模块中