javascript
javascript乘法和加法_Web前端:JavaScript中的NaN是什么?
大家好,我來了,本期為大家帶來的前端開發知識是”Web前端:JavaScript中的NaN是什么?“,有興趣做前端的朋友,一起來看看吧!
JavaScript中的數字類型包含整數和浮點數:
另外,還有2個特殊數字值:(Infinity大于任何其他數字的數字)和NaN(表示“非數字”概念):
雖然直接使用的NaN情況很少見,但在對數字進行失敗的操作后卻會令人驚訝地出現。
讓我們仔細看一下NaN特殊值:如何檢查變量是否具有NaN,并重要地了解創建“非數字”值的方案。
1. NaN號
JavaScript中的數字類型是所有數字值的集合,包括“非數字”,正無窮大和負無窮大。
可以使用特殊表達式NaN或作為全局對象或Number函數的屬性來訪問“非數字” :
盡管具有數字類型,但“非數字”是不代表實數的值。NaN對于表示數字上的錯誤操作很有用。
例如,將數字與相乘undefined不是有效運算,因此結果為NaN:
也嘗試解析無效的數字字符串,例如'Joker'導致NaN:
第3.節“導致NaN的操作”詳細信息會生成NaN。
2.檢查與NaN的相等性
的有趣特性NaN是,即使它本身也不等于任何值NaN:
此行為對于檢測變量是否為有用NaN:
someNumber !== someNumber表達式true僅當someNumber為時NaN。因此,以上代碼片段將記錄到控制臺"Is NaN"。
JavaScript具有內置功能來檢測NaN:isNaN()和Number.isNaN():
這些函數之間的區別在于Number.isNaN()不會將其參數轉換為數字:
isNaN('Joker12')將參數'Joker12'轉換為數字NaN。因此函數返回true。
另一方面,Number.isNaN('Joker12')檢查參數是否為而不進行轉換NaN。該函數返回,false因為'Joker12'不相等NaN。
3.產生NaN的運算
3.1解析數字
在JavaScript中,您可以將數字字符串轉換為數字。
例如,您可以輕松地將'1.5'字符串轉換為1.5浮點數:
當字符串不能轉換為數字時,解析函數返回NaN:表示解析失敗。這里有些例子:
解析數字時,最好驗證一下解析結果是否為NaN:
的解析inputToParse失敗,因此parseInt(inputToParse, 10)返回NaN。條件if (isNaN(number))是true,并且number分配給0。
3.2 未定義為操作數
undefined在加法,乘法等算術運算中用作操作數的結果NaN。
例如:
getFontSize()是fontSize從樣式對象訪問屬性的函數。調用時getFontSize({ size: 16 }),結果為undefined(對象fontSize中不存在{ size: 16 }屬性)。
fontSize * 2被評估為undefined * 2,結果為NaN。
undefined在算術運算中將缺少的屬性或返回的函數用作值時,將生成“非數字” 。
確保undefined不會達到算術運算是防止的好方法NaN。隨時檢查“ 7個未在JavaScript中處理的提示”。
3.3 NaN作為操作數
NaN當非整數操作中的操作數為時,也會生成值NaN:
NaN 分布在算術運算中:
result將invalidNumber值(具有NaN)附加到后,對變量的操作會中斷 result。
3.4不確定形式
NaN 算術運算采用不確定形式時,將創建值。
分工0 / 0和Inifinity / Infinity:
的乘法0和Infinity:
無限數量的不同符號的加法:
3.5數學函數的無效參數
負數的平方根:
或負數的對數:
4。結論
用JavaScript用表示的“非數字”概念NaN對于表示數字上的錯誤操作很有用。
NaN不等于任何值,即使是NaN本身也不等于。建議使用檢查變量是否包含NaN的方法Number.isNaN(value)。
將數字字符串轉換為數字失敗時,可能會導致顯示“非數字”。這是一個好主意,檢查是否parseInt(),parseFloat()或Number()不返回NaN。
undefined或NaN作為算術運算中的操作數通常會導致NaN。正確處理undefined(為缺少的屬性提供默認值)是防止這種情況的好方法。
數學函數的不確定形式或無效參數也會導致“ Not A Number”。但是這些情況很少發生。
這是我的務實建議:“知道NaN嗎?搜索undefined!”
原著作者:德米特里·帕夫魯汀
文章來源:國外
原著鏈接:
Dmitri Pavlutin Blog?dmitripavlutin.comPS:原著文章內容為英文版本,建議使用360極速瀏覽器進行翻譯閱讀。
總結
以上是生活随笔為你收集整理的javascript乘法和加法_Web前端:JavaScript中的NaN是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: diy nas配置推荐2019_在Win
- 下一篇: garch预测 python_安利几个非