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