javascript基础学习(1)数据类型--number

来源:互联网 发布:造价大师软件 安徽 编辑:程序博客网 时间:2024/05/01 00:55

参考:http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499190108eec0bdf14e704a09935cd112e501e31a000

基本数据类型:number、string、undefined、null、boolean、object(function、array、object)

number:整数、浮点数、NaN、Infinity

NaN非数值(not a number),是一种特殊的数值,表示一个本来要返回数值的操作数未返回数值的情况。
NaN本身有两个非同寻常的特点:第一,任何涉及与NaN的操作都返回NaN;第二,NaN与任何值都不相等。
isNaN(NaN);//true
isNaN("blue");//true
isNaN(10);//false
isNaN("10");//false
isNaN(false);//false
任何不能被转换为数值的值都会导致这个函数返回true
0/0 //NaN
1/0 //Infinity
-2/0 //-Infinity

数值范围:
Number.MIN_VALUE Number.MAX_VALUE
超出范围的数值将自动转换成特殊的Infinity值或者-Infinity
console.log(Number.MAX_VALUE+Number.MAX_VALUE);//Infinity
isFinite(value)检测数值是否位于最大值和最小值之间。

浮点数值:
var num1 = 1.1;
var num2 =0.1;
var num3 = .8;//不推荐
var num4 = 2.;//解析为2
var num5 =10.0;//解析为10
var num6 = 12e2;//1200
var num7 = 12e-2;//0.12
0.1+0.2 == 0.3//false 计算精度

数值转换


有3个函数把非数值转换为数值:Number()、parseInt()、parseFloat()

Number("")//0
Number("0101")//101
Number(true)//1
Number(null)//0
Number(undefined)//NaN
Number("hello")//NaN
Number("k8h")//NaN
如果是对象,则调用对象的ValueOf()方法,然后再依照前面的规则转换返回的值,如果转换的结果是NaN,则调用对象的toString()方法,然后再依次按照前面的规则转换返回的字符串值。
parseInt(str);parseFloat(str); 或者parseInt("f",16) //15 ,str为字符串,第二个参数为十六进制
parseInt("dsf222")//NaN
parseInt("221kjk")//221
parseInt("2.1kjk")//2
parseInt("08")//8
parseInt("0xf")//15

parseFloat("7.ll")//7
parseFloat("7.hh")//7
parseFloat("7.2hh")//7.2
parseFloat(".2hh")//0.2
parseFloat("s.2hh")//NaN
parseFloat("078")//78

字符串解析成数字

typeof+"" //number

1)用JavaScript内建的parseInt() 和parseFloat()函数,一个完整的parseInt应该是这样的:parseInt(string, radix),其中radix指定数字的进制(十进制,二进制,十六进制etc.)
parseInt("f",16): //15
parseInt("3.5"):// 3

2)把加号放在包含合法数字的字符串前面会将字符串转化为数字
"1.1"+ "1.1"// "1.11.1" ,单纯的两个基老相加得到的还是基老
+"1.1"+ +"1.1"//2.2,括号括起来先用加号把字符串转为数字再相加最后数字加数字得数字
但有点要注意的地方就是中间两个加号间要有空格。不然会有语法错误。
typeof("1.2")
"string"
typeof(+"1.2")
"number"


























































0 0
原创粉丝点击