强制类型转换规则

发布时间:2019-10-27 22:00:15发布者:Mr.Zhang阅读(354)

强制类型转换:
字符转数值
parseInt();从左向右一次转换,能转则转,不能转停止;如果第一位就不能转,直接NaN;不识别小数点。
parseFloat();等同于parseInt,同时可以识别小数点

Math.round();严格转换,不允许出现任何非数字的字符,否则NaN;取最接近的整数

Number();严格转换,不允许出现任何非数字的字符,否则NaN;直接转换


var str = "123";
var str = "123abc";
var str = "123abc456";
var str = "a123";
var str = "adasd";
var str = "123.45";
var n = parseInt(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);

var str = "a567.892";
var n = parseFloat(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);

var str = "-456.789";
var n = Math.round(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);

var str = "-456.789a";
var n = Number(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);


数值转字符
toString();直接转换,相当于给要转换的数值,加引号
保留n为小数
toFixed();加引号的同时,四舍五入保留n位小数,不够,补零

var n = 10.3543;
var s = n.toString();
console.log(n);
console.log(typeof n);
console.log(s);
console.log(typeof s);

var n = 10;
var s = n.toFixed(2);
console.log(n);
console.log(typeof n);
console.log(s);
console.log(typeof s);

console.log(123.567000000)

数值转字符
var n = 123;
var s = n + "";
console.log(s)

字符转数值
var s = "123";
var n = s - 0;
console.log(n)

==================================

其他转数值
true为1,false为0
console.log(1 + true); //2
console.log(1 + false); //1
console.log(1 + undefined); //NaN
console.log(1 + NaN); //NaN
console.log(1 + null); //1





本文转自博客园,原文地址:https://www.cnblogs.com/xiet/p/11747784.html