js數據類型-Number

js的幾種原始數據類型:Undefined、Null、Boolean、Number、string。
可以用typeof運算符判斷一個值是否表示一個原始類型,返回值類型與其變量值類型一致,。
JavaScript中的所有事物都是對象:數字、字符串、布爾、數組、日期等等。
Number對象是原始數值的包裝對象,創建Number對象的語法:

var Num=new Number(value);

返回值:當Number()和運算符new一起作爲構造函數使用時,它返回一個新創建的Number.

var Num=Number(value);

返回值:當Number()作爲調用函數使用時,它將自己的參數轉成一個原始的數值,並返回這個值,如果轉換失敗就返回NaN.
參數value是要創建的Number對象的數值,或者是要專程數字的值。

<script type="text/javascript" language="JavaScript">
    var num=1;
    var num1=Number(1);
    var num2=new Number(1);
    
    alert(num==num1);//true
    alert(num==num2);//true
    alert(num1==num2);//true
      //  ==表示只是值相等
    
    alert(typeof (num));//number
    alert(typeof num1);//number
    alert(typeof num2);//object
    
    alert(num===num1);//true
    alert(num===num2);//false
    alert(num1===num2);//false
    //    ===表示值和類型都相同
</script>

javascript數字可以使用也可以不使用小數點來書寫:

var pi=3.14;//使用小數點
var x=34;//不使用小數點

極大數字或極小數字可通過科學計數法來寫:

var y=123e5;//12300000
var z=123e-5;//0.00123

所有的JavaScript數字均爲64位
JavaScript不是類型語言。與其他編程語言不同,JavaScript不定義不同類型的數字,比如整數,短、長浮點等等。
JavaScript中的所有數字均存儲爲根爲10的64位(8比特),浮點數。
精度
整數(不使用小數點或指數計數法)最多爲15位。
小數的最大位數是17,但是浮點運算並不總是100%準確:
var x=0.2+0.1; //0.30000000000000004(17位)

八進制和十六進制
如果前綴爲0,則JavaScript會把數值常量解釋爲八進制數,如果前綴爲”0x”,則解釋爲十六進制數。

var y=0377;
var z=0xFF;

alert(0.1+0.2);//0.30000000000000004精度爲17位
alert(0377);//255;前綴爲0表示是8進制,輸出時強制轉化爲十進制
alert(0xFF);//255

數字Number的屬性

  • constructor
  • MAX_VALUE 最大數
  • MIN_VALUE 最小數
  • NaN 非數字
  • NEGATIVE_INFINITY 負無窮大,溢出時返回
  • POSITIVE_INFINITY 正無窮大,溢出時返回

數字Number的方法

  • toString() 把數字轉換爲字符串,使用指定的基數
<script type="text/javascript" language="JavaScript">
        
            var num=123;
            alert(num.constructor);//輸出:function Number() { [native code] }
            alert(Number);//輸出:function Number() { [native code] }
            alert(num.constructor===Number);//true
        
            alert(Number.MAX_VALUE);//最大值1.7976931348623157e+308
            alert(Number.MIN_VALUE);//最小值5e-324
        
            alert(NaN);//NaN是一個特殊的數字;每一個NaN都是一個不同的特殊的數字;所以NaN==NaN返回是false
        
            alert(typeof (NaN));//number
        
            alert(Number.NEGATIVE_INFINITY);//-INFINITY表示負無窮大
            alert(-1/0);//-Infinity;
            alert(Number.POSITIVE_INFINITY);//INFINITY表示正無窮大
        
            alert('a'-'b');//NaN
            isNaN();//是不是NaN這個數,返回值是Boolean
            alert(isNaN(NaN));//isNaN()只要參數不是NaN返回false,否則返回true
        	alert(num.toString());//返回字符串‘123’
            alert(typeof (num.toString()));//string
        
        </script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章