Number():把一个值强制转换成number类型的,
1.Number()可以用于任何数据类型
2.NaN即非数值(not a number)是一个特殊数值
2.parseInt
parseInt方法用于将字符串转为整数,
如果字符串头部有空格,空格会被自动去除
会忽略字符串前面的空格,直至找到第一个非空格字符,
如果parseInt的参数不是字符串,则会先转为字符串再转换。
parseInt(1.23) // 1
// 等同于
parseInt('1.23') // 1
字符串转为整数的时候,是一个个字符依次转换,
如果遇到不能转为数字的字符,就不再进行下去,
返回已经转好的部分
parseInt('8a') // 8
parseInt('12**') // 12
parseInt('12.34') // 12
parseInt('15e2') // 15
parseInt('15px') // 15
上面代码中,parseInt的参数都是字符串,结果只返回字符串头部可以转为数字的部分
(1)parseInt,转换的值必须是以数字开头的,否则返回NaN
说明:parseInt()转换空字符串返回NaN
如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN
parseInt('abc') // NaN
parseInt('.3') // NaN
parseInt('') // NaN
parseInt('+') // NaN
parseInt('+1') // 1
(2)parseInt()这个函数提供第二个参数:转换时使用基数(多少进制)10进制等,
所以,parseInt的返回值只有两种可能,要么是一个十进制整数,要么是NaN
>2.parseFloat()是专门用于把字符串转换成数值
从第一个字符开始解析每个字符,直至遇见一个浮点数字符为止
说明:
除了第一个小数点有效外,parseFloat()与parseInt()的第二个与别在与他始终都会忽略前导的零
>3.Number,isNaN()
数值转换
Number()
parseInt()
parseFloat()
1.Number:表示整数和浮点数
2.NaN:即非数值(Not a Number)是一个特殊的数值
这种情况发生在比如说:age=20
主要出现在将字符串解析成数字出错的场合
在控制台打印 console.log(age-"abc"),大家都知道,
数字跟字符串是不能相减的,这个时候,在控制台打印的就NaN
但是NaN也是Number类型
@面试注意点:
1.任何涉及NaN的操作(例如NaN/9)都会返回NaN
2.NaN与任何值都不相等,包括NaN本身
3.isNaN(n) isNaN这是一个方法,
参数n可以使任何类型
功能是:检测n是否是“非数值 ”,
返回值是一个 boolean
age=20,
在控制台打印,console.log(isNaN(age)) 判断age是否是一个
非数字,返回False,因为age是一个数字 但是isNaN是判断一个值是否是非数值
这里还有一点要说明:isNaN()对接收的数值,先尝试转换
为数值,在判断是否为数值
// isNaN() 这个方法用来判断非数字
并且返回一个值 如果是数字返回的是 false
如果不是数字返回的是true
console.log(isNaN(12)); // false
console.log(isNaN('pink老师')); // true
typeof
var vari = undefined;
console.log(typeof vari); // undefined
var timer = null;
console.log(typeof timer); // object
// prompt 取过来的值是 字符型的
var age = prompt('请输入您的年龄');
console.log(age);
console.log(typeof age);
var a = "undefined";
console.log(a) . undefined
console.log(typeof a) string
Number()
如果是Boolean值,true和false值将分别被转换为1和0。
如果是数字值,只是简单的传入和返回。
如果是null值,返回0。
如果是undefined,返回NaN。
如果是字符串:
a. 如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0
b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0
c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值
d. 如果字符串为空,将其转换为0
e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN
6.如果是对象,则调用对象的valueOf()方法,
然后依照前面的规则转换返回的值。
如果转换的结果是NaN,则调用对象的toString()方法,
然后再依照前面的规则转换返回的字符串值。
var num1 = Number("Hello world"); //NaN
var num2 = Number(""); //0
var num3 = Number("0000011"); // 11
ParseInt()
处理整数的时候parseInt()更常用。parseInt()函数在转换字符串时,会忽略字符串前面的空格,知道找到第一个非空格字符。
如果第一个字符不是数字或者负号,parseInt() 就会返回NaN,同样的,用parseInt() 转换空字符串也会返回NaN。
如果第一个字符是数字字符,parseInt() 会继续解析第二个字符,直到解析完所有后续字符串或者遇到了一个非数字字符。
ParseFloat()
parseInt(string, radix)
如果参数“string”,以字母开头,直接返回NaN
parseInt("df2bc", 10) //返回 NaN
网友评论