一.js之数据类型
1.基本类型
a.Number
如整数18
浮点数 12.5
科学计数法 2e3 相当于2*10^3
还有十六进制,二进制,八进制
二进制0b开头
八进制0开头
十六进制0x开头
<input type="number">
<!-- 这里的number类型规定只能在框中输入数字类型而能输入e是因为它是科学计数法。 -->
b.string:用单引号或双引号包起来的就是字符串类型。
var num1=10
var num2="20"
console.log(num1+num2)
加了双引号就变成了字符串string类型不再遵循加法运算而是输入什么就是什么,上述运行结果就会变成1020而不是20。
且在控制台中显示效果为字符串没颜色,而数字类型有颜色。
c.boolean
布尔值类型仅包括两个即true和false
var ischecked=false
console.log(ischecked)
注意布尔值的两个值可以不用加双引号。
d.Undefined
undefined和null一样自成类型,underfined意为未被赋值,它属于已声明但是未被赋值。所以打印结果就是它本身。
var which
console.log(which)
e.Null
null不属于以上任何一种类型,仅仅表示无,空或未知,但是未来是想给其赋值的。
f.Symbol
2.复杂类型
二.判断数据类型
var d =200
console.log(typeof d)
console.log(typeof(d))
//虽然d的值为数字类型但是用typeof检测的节果一定是字符串即string类型
console.log(typeof typeof d)
运行结果为
但在运算时有无括号还是有区别的
如
console.log(typeof d+100)
console.log(typeof (d+100))
在没括号时typeof会先判断出d的数据类型然后与后面的100连接起来
而有括号的时候则会先进行运算再判断运算结果的数据类型。
当用typeof判断undifined时结果就是undifined
当用typeof判断null时结果就是object即对象类型。
三.数据类型的转换-转换值
Number类型的转换
var c="abc"
var d=Number(c)
console.log(c,d)
运行结果为abc和NAN
例二,
转换true和false注意在输入时别加上双引号,不然就变成字符串类型了
结果为true为1,false为0。
例三.
转换null同样也别加上双引号
结果为null是0。
例四.
转换undefined
结果为NaN。
例五.
转换123abc即前面是数字后面是字母的类型
结果为NaN。
例六.
转换123,123即带小数的字符串
结果为123,123。
4.parseInt方法
parseInt方法是一步一步的转换方法,结果不会因为含有字母就直接报错,而是会留下数字部分并排除掉字母部分。
var m="123abc"
var n=parseInt(m)//parseInt方法是一步一步的转换方法,结果不会因为含有字母就直接报错,而是会留下数字部分并排除掉字母部分。
console.log(m,n)
运行结果即为123。
但是转带小数的就不行。
5.parsfloat方法
parseInt方法也满足一步一步的转换方法,结果不会因为含有字母就直接报错,而是会留下数字部分并排除掉字母部分。
此外如果遇到带小数的也可以正常转换。
6.加运算符法
假如想把字符串类型的100即“100”形式的转换成数字型的100,此时就可以用var a=“100”
varb=a-0 或除法和乘法
结果会变成100数字型,但是运算时注意不要改变了其本来的值。
加法不行,不然会直接被当成字符串前后连起来。
四.数据类型的转换-转字符串
1.string方法可以将所有类型的数据转换成字符串类型
var a=100
var b=String(a)
console.log(a,b)
console.log(typeof a,typeof b)
var c=true
var d=String(c)
console.log(c,d)
console.log(typeof c,typeof d)
var e=null
var f=String(e)
console.log(e,f)
console.log(typeof e,typeof f)
运行结果都是string,即都可以被转换成字符串类型。
2.tostring方法
将数字转换成string类型
var a=100
var b=a.toString()
console.log(a,b)
console.log(typeof a,typeof b)
结果为string
可以将数字转换成字符串但是不可以转换null和undefined
3.用加法让其连接但是后面加的字符串即双引号中的内容应该是空的
var g=100
var h=g+""
console.log(g,h)
console.log(typeof g,typeof h)
运行结果即为100字符串类型。
五.其它数据类型转换成布类型
1.Boolean方法转换
var a=100
var b=Boolean(a)
console.log(a,b)
除了0, “”,undefined ,null,NaN不能用此方法转换成布尔值即结果为false,其他的都可以。