number数字类型
计算机number是有一个范围的-2的53次方——2的53次方
//注意书写顺序,例如一个商品17.45,买3个打9折,以下两种写法保留两位小数结果是不相同的
var obj = {
age: 20
}
var num = 17.45;
console.log( 17.45*3*0.9 ); //47.1149999999995
console.log( 0.9*17.45*3); //47.115
//任何数字除以0都得到infinity,除了0/0
console.log( 3/0 ); //Infinity
console.log( 0/0); //NaN
//注意,NaN是一个特殊的数字,它不等于任何数字,所以也不等于自己
console.log( NaN==NaN ); //false
//isNaN()方法可以判断值是否是NaN,常被用于判断传入的值是否能被转换为数字
//isNaN() 函数用于检查其参数是否是非数字值
console.log( isNaN(NaN) ); //true
console.log( isNaN('abc') ); //true,不能转换为数字
console.log( isNaN(undefined) );//true,不能转换为数字
console.log( isNaN(obj) );//true,不能转换为数字
console.log( isNaN('123') ); //false
console.log( isNaN(null) );//false
number数据类型转换
//Number()函数把对象的值转换为数字
//返回结果数字、NaN、1、0
var obj={};
console.log( Number( true ) );//1 布尔类型转字符串
console.log( Number( '123' ) );//123 数字类型转字符串
console.log( Number( obj ) );//NaN 对象转字符串
console.log( Number([1,2]) );//NaN 数组转字符串
console.log( Number( null ) );//0
console.log( Number( undefined ) );//NaN 数组转字符串
var test1= new Boolean(true);
var test2= new Boolean(false);
var test3= new Date();
var test4= new String("999");
var test5= new String("999 888");
document.write(Number(test1)+ "<br>"); //1
document.write(Number(test2)+ "<br>"); //0
document.write(Number(test3)+ "<br>"); //1607437535221
document.write(Number(test4)+ "<br>");//999
document.write(Number(test5)+ "<br>");//NaN
//parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析,直接将小数舍去,没有四舍五入
console.log(parseInt('99.85',10)); //99,第一个参数是转换的字符串,第二个参数为规定传进来的值和转换值为10进制
console.log(parseInt('99.15',10)); //99
console.log(parseInt('abc',10)); //NaN
//parseFloat() 函数可解析一个字符串,并返回一个浮点数
console.log(parseFloat('99.8515')); //99.8515
console.log(parseFloat('99.15')); //99.15
console.log(parseFloat('abc')); //NaN
string字符串类型
常用双引号或单引号包围起来,建议使用单引号
如果字符串中要使用单引号或双引号,需要使用转义符\
\" 代表"
\' 代表'
\\ 代表\
\n 代表换行
\t 代表一个tab的距离
string数据类型转换
//String() 函数把对象的值转换为字符串
var test1= new Boolean(1);
var test2= new Boolean(0);
var test3= new Boolean(true);
var test4= new Boolean(false);
var test5= new Date();
var test6= new String("999 888");
var test7=12345;
console.log( String(test1) );//true
console.log( String(test2) );//false
console.log( String(test3) );//true
console.log( String(test4) );//false
console.log( String(test5) );//Tue Dec 08 2020 22:42:33 GMT+0800
console.log( String(test6) );//999 888
console.log( String(test7) );//12345
//toString() 方法可把一个 Number 对象转换为一个字符串,并返回结果
//null和undefinde没有方法,所以无法使用toString()
var num = 123;
var bool = true;
var obj={};
var arr=[1,2]
console.log( bool.toString() );//true 布尔类型转字符串
console.log( num.toString() );//123 数字类型转字符串
console.log( obj.toString() );//[object object] 对象转字符串
console.log( arr.toString() );//1,2 数组转字符串
//备注:常用于数字转字符串
布尔类型
布尔类型只有true和false两个值
所有数据类型都可以转为布尔类型,用Boolean()
除了以下六种情况返回false,其他全部返回true
console.log( Boolean( 0 ) ); //0返回false
console.log( Boolean( '' ) ); //空字符串返回false
console.log( Boolean( false ) );//false返回false,false也可以是表达式,例如3<2,依然返回false
console.log( Boolean( NaN ) ); //false
console.log( Boolean(null) ); //false
console.log( Boolean(undefined) ); //false
**备注:数字、字符串、布尔都有一个跟他们类型一样的转换函数,首字母大写,Number()、String()、Boolean()**