此文章系列给自己重新复习下javascript的基础,一步步夯实自己的基础。
1: javascript的五种原始数据类型:Number,String,Boolean,Undefined,Null 所以利用typeof对数据进行类型判断的时候就有 number,string,boolean,undefined,object五种类型,有一种NaN是代表未知类型的,而object---对应的是Null. 2:Boolean类型 在javascript中0代表false,大于1代表true 如 alert(Boolean(0));//false alert(Boolean(1));//true alert(Boolean(2));//true alert(Boolean(""));//false alert(Boolean(null));//false alert(Boolean(undefined));//false alert(Boolean(NaN));//false //任何非空的字符串都为true alert(Boolean("sd"));//true
2:Number数据类型--空字符串输出为0,非空字符串如果未包含数字--NaN
alert(Number(""));//0
//任何非空字符串且含有字母
alert(Number("2s"));//NaN
//任何非空字符串只含数字
alert(Number("22.23324234234"));//22.23324234234
//如果含有2个小数点就会出现NaN
alert(Number("22.23324.234234"));//NaN
对应的javascript提供啦2个将字符串转换为数字
parseInt(),parseFloat();为整数和浮点数
相对于上面的强制转换,这2个方法对含有数字的字符可以进行转换
alert(parseInt("2s"));//2
当然他只会解析第一个字符前的数字
alert(parseInt("222s2"));//222
alert(parseInt("2232.34.5"));//2232--对应整数来说字符‘.’是不能转换为整数
alert(parseFloat("2232.34.5"));//2232.34
不管是parseInt,parseFloat还是Number都可以指定转换的基数如2进制,8进制,16进制
还有1点如果要转换的字符以0开头的话会转换为8进制
以0x开头的会成为16进制
如
alert(parseInt("010"));//8
alert(parseInt("09"))//0--对于8进制没有9
一般对可能以0开头的字符串做转换的时候最好指定基数为10即10进制
alert(parseInt("010",10));//10
而parseFloat则规定对于要转换的字符串会忽略前面的0
如
alert(parseFloat("010"));//10
Number(false);---0
Number(true);--0
Number(undefined);//NaN
Number(null);//0
Number(new Object());//NaN
Infinity表示无限大的数字
Number(Infinity)Infinity
isFinite();用来判断一个数字是不是无限大的数字
toFixed();//指定保留几位小数
alert(Number(23).toFixed(2));//23.00
toExponential();//科学计数法里面指定保留的小数位数
3:Undefined类型其只有一个可能的值即undefined
Undefined对应的是那种已经申明啦但是没有初始化的类型
var o;
alert(o==undefined);//true
var o;
alert(typeof o);//undefined
4:Null---null;表示不存在的对象。undefined类型是从null类型延伸而来
所以
alert(null==undefined);//true
5:String---这里就不做解释啦,字符里面有很多内置方法
//NaN--not a number也就是说不是一个数字才会出现的
特性alert(NaN==NaN);//false---本身与本身不相等
isNaN();//用来判断是否为非数字---数字为false