JS中的数据类型以及类型转换

1、js中的数据类型有:数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义。

可以使用typeof来判断:

var i = 100;
alert( typeof i );   // number

2、关于Number转换:

var a = '+100';
 alert( Number(a) );		// 100
var a1 = '    ';
 alert( Number(a1) );		// 0
var a2 = true;
 alert( Number(a2) );		// true-1  false-0
var a3 = [ 1 ];
 alert( Number(a3) );		// 1 0
var a4 = null;
 alert( Number(a4) );		// 0

能够转换一些较为简单的数据。

3、parseFloat和parseInt:

parseInt可以看成Number的升级版

 var b = ' 200px';
 alert( parseInt(b) );  //200

parseFloat可以看成parseInt的升级版

var c = '12.34元';
alert( parseFloat(c) ); //12.34

这两个都是默认从左往右检索,Int遇到别的字符就会停止而Float可以多检索一个小数点,再遇到其他字符时停止。

4、parseFloat和parseInt的应用:

var num = '200.45';
if( parseInt(num) == parseFloat(num) ){
	alert( num + '是整数' );
}else{
	alert( num + '是小数' );
}

可以判断是整数还是小数。

5、上面三个是显式类型转换,下面介绍隐式类型转换

        +				200 + '3'		变成字符串    //含有连接的含义
	- * / %				'200' - 3     变成数字   //将字符串200转成了数字
	++ --						变成数字  //同上
	> < 			数字的比较 、字符串的比较  //数字与字符串比较会把字符串转换为数字,字符串与字符串则比较的是他们的编码
	!	取反					把右边的数据类型转成布尔值
	==

针对!,写了几个例子。

 alert(!null);
 alert(!0);
 alert(!undefined);
 alert(!'');

这些得到的是true。(可能还有其他的,目前只想到这些)

一般在后面加东西的话,得到的都是false。

针对==和===:

alert( '2' === 2 );      //false
alert( '2' == 2 );       //true

三个等号相对来说就更加严谨,并且是存在字符串转成数字的。

6、NaN:不是数字的数字类型,一旦程序中弹出,肯定进行了不正常的运算操作。

NaN默认布尔值是false。

alert(!NaN);   //true

isNaN():可以用来判断某些值是不是数字,它讨厌数字,并且是一个布尔值。

alert( isNaN (250) );   //flase    给它数字它不高兴了
if( isNaN(str) ){
			alert( str + '不是数字' );
		}else{
			alert( str + '是数字' );
		}

最后有一个小实例:

点击按钮过后判断:

1、有没有输入
2、输入的是不是数字
3、不能有0在前面
4、不能是小数

5、输入的数字必须在5位以上、10位以内

		if (str == '') {
			alert('不能为空呀~');
		}	
		else if ( isNaN(str) ) {
			alert('输入的必须为数字呀~');
		}
		else if ( str.charAt(0) == '0' ) {
			alert('不能以0开头哦~');
		}
		else if ( parseInt(str)!=str ) {
			alert('输入的内容不能为小数');
		}
		else if ( str.length <5 || str.length >10 ) {
			alert('请输入5位以上,10位以下的内容');
		}
		else{
			alert('OK');
		}




猜你喜欢

转载自blog.csdn.net/weixin_42565663/article/details/80982939