js的数据类型可分为以下几种:
字符型 string
var a1=“abc”;
var a2=‘abc’;
var a3=abc
;
var a4=“50”;//只用用引号引起来都是字符
console.log(a1);//显示黑色
数值型 number
var b1=10;正整形
var b2=-10;整形
var b3=0.5;浮点型
var b4=010;8进制 以0起头
var b5=0xAF;16进制 以0x起头
var b6=4e+2;科学计数法 400 e就是10的多少次幂
var b7=2.6e-2; 0.026
布尔型 boolean
真和假 对或者错
var c1=true;//真
var c2=false;//假
undefined 未定义值
var d1=undefined;//给d1定义变量,没有赋值
var d2; //这样直接定义是一样的
null 空值
var e1=null; 定义空值
当一个变量以指针的形式指向堆中的地址时,当我们不需要再指向时,就必须设置该变量为null
String(); 强制转换为字符串
toString可以将任何数字转换为任意进制
var num=10;
var a=num.toString(2) (将“10”转换成二进制格式的数字)
toFixed(小数点后几位) 将数值转换为字符串,并且按照小数点四舍五入保留位数,但是有精度误差
var num=10.35;
var a=num.toFixed(1);此时a=10.6
Number() 强转数值型
在对一些字符强转数值型时会发生以下情况:
var str="你好";纯字符 ->NaN
var str="12";纯数字 -> 数字
var str="1a";部分数字,部分字符->NaN
**parseInt(str)强转为整数**
在强转为整数时,可以将其进行进制转换
var str="1010";
var num=parseInt(str,2); //将2进制字符串转换为数值
此时的 num :10
**布尔值强转数值整型,会变成NaN 、undefined null 强转整型都是NaN**
Boolean() 转换为布尔值
“” 0 false,undefined,null,NaN 转换为布尔值都会变成false,除此之外转换都是true
关于隐式转换:
var a=6;
var b=“a”;
var c=true;
console.log(a+b); 这里将a隐式转换为字符串,并且相加首尾相连
console.log(a-b); 减法会隐式转换将a和b都转换为数值