js 显示、隐式类型转换

typeof(123); // number
		typeof('123'); //string
		typeof(true); // boolean
		typeof({}); // object
		typeof([]); // object 引用类型
		typeof(null); //object 刚开始是为了指定空对象指针,es6提案说把null改成null类型被ECMA拒绝了
		typeof(undefined); // undefined
		typeof(NaN); // number
		typeof(function () {}); // function
		typeof(1 - 1); // number
		typeof(1 - '1'); // number
		typeof('1' - '1'); // number
		// 如果上面没有定义a
		// console.log(a); // 报错
		typeof(a); // undefined
		typeof(typeof(a)); // string, 检查出的数据类型的数据类型是字符串
		// typeof(+); // 报错
		// typeof(typeof(+)); // 报错


		// 显示类型转换 、 隐式类型转换
		Number('123'); // 123
		Number('true'); // NaN
		Number(true); // 1
		Number(null); // 0
		Number(undefined); // NaN
		Number(NaN); // NaN
		Number('a'); // NaN
		Number('1a'); // NaN
		Number('3.14'); // 3.14
		Number('3.54'); // 3.54

		parseInt('123'); // 123
		parseInt(true); // NaN
		parseInt(null); // NaN
		parseInt(undefined); // NaN
		parseInt(NaN); // NaN
		parseInt('3.14'); // 3
		parseInt(3.54); // 3 取整,不会四舍五入
		parseInt('abc123'); // NaN
		parseInt('123abc'); // 123

		parseFloat('3.14'); // 3.14
		parseFloat('3.1465926').toFixed(2); // 3.15,会四舍五入

		// undefined.toString(); // 报错,没有这个方法
		// null.toString(); // 报错,没有这个方法

		// 隐式类型转换
		var a = '123'; // Number(a)
		a++; // 124

		var b = '3' * 2; // 6 * / - % > < >= <= 都是 string -> number

		var c = 'a' > 'b'; // 转换成 ascii

		var d = undefined < 0; // fasle

		var e = undefined > 0; // fasle

		var f = undefined == 0; // fasle

		var a1 = null > 0; // fasle

		var b1 = null < 0; // fasle

		var c1 = null == 0; // fasle

		var d1 = undefined == null; // true

		var f1 = NaN == NaN; // false

		// isNaN 都进行了 Number() 转换

		isNaN(NaN); // true

		isNaN('123'); // false

		isNaN('a'); // true

		isNaN(null); // fasle

		isNaN(undefined); // true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值