您的位置:首页 > Web前端 > JavaScript

JavaScript(三)主要内容:typeof和类型转换

2019-03-22 14:17 51 查看

1.typeof   返回值:number、string、boolean、object、undefined、function

         写法: typeof(a)       或者     typeof  a

[code]<script type="text/javascript">

//注意:
var a = [];
console.log(typeof(a));		//object

var b = {};
console.log(typeof(b));		//object

var c = null;
console.log(typeof(c));		//object

var d = undefined;
console.log(typeof(d));		//undefined

var e = function(){};
console.log(typeof(e));		//function

</script>

2.类型转换:显式类型转换、隐式类型转换

(1)显式类型转换

Number():转换为数字

[code]<script type="text/javascript">

var f = "123";
console.log(Number(f));		//123

var g = true;
console.log(Number(g));		//1

var h = false;
console.log(Number(h));		//0

var i = "a";
console.log(Number(i));		//NaN

//null转化成数字类型为0,undefined转化为数组类型为NaN(非数)

</script>

parseInt():转换为整形的数 

parseFloat()、String()、Boolean()、toString()         注意:undefined和null没有toString()方法(报错

[code]<script type="text/javascript">

//注意
var j = "b";
console.log(parseInt(j,16));		//11    原因:把j以16进制转换为10进制

var k = 10;
console.log(k.toString(2));		//1010     将k转2进制数

</script>

(2)隐式类型转换(都是调用的显示的方法)

[code]<script type="text/javascript">

//1.isNaN():把括号里面的数先放到Number()里面,返回值跟NaN比较

console.log(isNaN(NaN));	//true
console.log(isNaN("124"));		//false
console.log(isNaN("abc"));		//true
console.log(isNaN(null));		//false
console.log(isNaN(undefined));		//true

//2.++ -- :Number()
var l = "123";
console.log(++l);	//124

var m = "abc";
console.log(++m);	//NaN
console.log(typeof(m));		//number  虽然是非数,但是类型是数字

//3.+ -  (正、负)  :Number()
var n = +"abc";
console.log(n);		//NaN
console.log(typeof(n));		//number

//4.+ (加):toString()

//5.-  *  /  % (减、乘、除、摩尔):Number()

//6.&&  ||  !

//7.> < >=  <=

//8.== !=

console.log(null == undefined);		//true

</script>

3.不发生类型转换:===、!==

[code]<script type="text/javascript">

//注意

console.log(NaN === NaN);	//false
console.log(NaN !== NaN);	//true

</script>

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: