number数字类型详解

初始数字类型

分整数型和浮点型。

十进制通用,普遍使用十进制计算。

八进制:070  56;第一个必须是0(后面0到7)

十六进制:0X(后面是0到0或者A到F)

浮点数:带有小数的数字,浮点型比整数型多用空间,所以如果是12.0;会自动转换成整数型12.

过大或过小:e科学计数法。 2e4 就是2万。

不用浮点数做判断,会有误差。

浮点数有数值范围。

      Number.MIN_VALUE(最大);

      Number.MAX_VALUE( 最小);

      Number.POSITIVE_INFINITY(正无穷)//Infinity

      Number.NEGATIVE_INFINITy(负无穷)// -Infinity

测试范围是否超过范围。可用isFinite()。

数字类型转换

有三个函数可以把非数值转化为数值:Number(),parseInt(),ParstFloat()。

其中Number()可以用于任何数据类型,后面两个专门用于字符串转成数值。

Number()

Number()转布尔类型,返回1和0,true是,false是0;

Number()转数值类型;直接返回数值;

Number()转Null,空对象返回0;

Number()转undefined,是NaN;

Number()转字符串 有五条规则

1.包含数值的字符串,自动去掉前导0,以十进制输出;

2.包含浮点数值的字符串,自动去掉前导和后导0,以浮点数值输出;

3.如果字符串是空,直接转换成0;

4.如果不是以上字符串,返回NaN;

5、如果是对象,收下调用valueOf()方法,然后确定返回值是否能够转换成数值,如果转换的结果是NaN,则基于这个返回值再调用toString()方法,再测试返回值。

由于Number复杂,通常用parseInt()。

parseInt()

parseInt()只能是转换字符串,浮点数会被割舍掉小数点以后的内容。

可以输出二进制,八进制(0开头),十六进制(o和X开头);中间逗号,后面表示多少进制。

parseFloat

parseFloat不认识16进制,只认一个小数点,多的会去掉,前导0和后导0全部去掉。

string类型

string类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由单引号或者双引号表示,两者完全没有区别。

注意必须是成对出现,不能出现 var = ‘ 3  ”//一个单引号 一个双引号

1.字符字面量

string数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符,或者其他用途的字符。

例如   /n  换行 

           /r 回车

任何字符串的长度都可以通过访问其length属性取得。

例如: var text = “wo shi xiong haiziCEO”;

              alert(text.length);//输出20

2.字符串的特定

ECMAScript中的字符串是不可变的,字符串一旦创建,他们的值就不能改变。要改变某个变量保持的字符串,首先要销毁原来的字符串,然后再用另外一个包含新值的字符串填充该变量。

3.转换为字符串

要把一个值转换为一个字符串有两种方式。

toString();

var num = 10;

alert(num.toString(2));//二进制

alert(num.toString(8));//八进制

alert(num.toString(16));//十六进制

数值,布尔值,对象和字符串值都有toString()类型。

null和undefined没有toString()方法。

String()函数能够将任何类型的值转化为字符串。

Object类型

ECMAScript中的对象其实就是一组数据和功能的集合。

var  text = new Object();

Object类型所具有的任何属性和方法也同样存在于具体的对象中。