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>