JavaScript的类型转换---强行转换

js中的变量是没有数据类型 但是变量的值有数据类型

数据类型

基本数据类型:number、string、boolean、null、undefined
引用数据类型:array、function、object 等等
typeof检测是数据类型有:number、string、boolean、undefined、object、function

强行转换

1.转换为字符串类型:
变量.toString(radix) radix:基地数(可以单纯的理解为进制数)
任意的数据都可以转换为字符串类型
转换为字符串类型,根据基地数做换算(除了不能在加法,加法其实是拼接)
ps:undefined 和 null不能直接调用toString(),基地数转换会以你要转换的进制数进行显示

var a = 100,
	b = true,
	c = null,
	d;
console.log(a.toString());  // '100'
console.log(a.toString(2));  // '1100100'
console.log(a.toString(8));  //	'144'
console.log(a.toString(16));  // '64'
console.log(b.toString());	// 'true'
console.log(c.toString());	// 报错
console.log(d.toString());	// 报错

2.转换为整数类型:
parseInt(变量,radix) radix:基地数(可以单纯的理解为进制数)
将数据转换为number类型(整数) 舍弃小数位碰到第一个非整数字符,则停止转换
如果无法转换,返回NaN(not a number)不是数值
基地数转换不会以你要转换的进制数进行显示,会以十进制显示

var a = 100,
	b =true,
	c = null,
	d,
	e = '100.323das33',
	f = '1003dd33.23';
console.log(parseInt(a, 2));  // 4
console.log(parseInt(a, 8));  // 64
console.log(parseInt(a, 16));  //	256
console.log(parseInt(b));  // NaN
console.log(parseInt(c));	// NaN
console.log(parseInt(d));	// NaN
console.log(parseInt(e));	// 100
console.log(parseInt(f));	// 1003

3.转换为浮点数类型(小数类型):
**parseFloat(s: string)**将数据转换为number(浮点数)碰到第一个非小数点或数字,则停止转换如果无法转换,返回NaN(not a number)

var a = 100,
	b= true,
	c = null,
	d,
	e = '100.326das33',
	f = '1003dd33.23';
console.log(parseFloat(a));  // 100
console.log(parseFloat(b));  // NaN
console.log(parseFloat(c));	// NaN
console.log(parseFloat(d));	// NaN
console.log(parseFloat(e));	// 100.326
console.log(parseFloat(f));	// 1003

4.数值类型:
Number(数据)如果数据中包含了非法字符(只要不熟小数点或数字),则返回NaN

var a = 100,
	b = true,
	c = null,
	d,
	e = '100.326das33',
	f = '1003dd33.23',
	g = '100333.23',
	h = '100333';
console.log(Number(a));  // 100
console.log(Number(b));  // 1
console.log(Number(c));	// 0
console.log(Number(d));	// NaN
console.log(Number(e));	// NaN
console.log(Number(f));	// NaN
console.log(Number(g));	// 100333.23
console.log(Number(h));	// 100333

5.转换为boolean类型
boolean(变量)
表示空的数据都可以转换为false 0 “” ‘’ 0.0 null undefined NaN
除了以上的数据以外其他的情况都是true

var a = 100,
	b = false,
	c = null,
	d,
	e = NaN,
	f = 0,
	g = 0.0,
	h = '';
console.log(Boolean(a));  	// true
console.log(Boolean(b));  	// false
console.log(Boolean(c));	// false
console.log(Boolean(d));	// false
console.log(Boolean(e));	// false
console.log(Boolean(f));	// false
console.log(Boolean(g));	// false
console.log(Boolean(h));	// false
发布了43 篇原创文章 · 获赞 3 · 访问量 1142

猜你喜欢

转载自blog.csdn.net/qq_45007419/article/details/103641982