js之数据类型

一.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.复杂类型

 二.判断数据类型

typeof 运算符
typeof 运算符返回参数的类型。当我们想要分别处理不同类型值的时候,或者想快速进行数据
类型检验时,非常有用。
它支持两种语法形式:
1. 作为运算符: typeof x 。
2. 函数形式: typeof(x) 。
换言之,有括号和没有括号,得到的结果是一样的。
对 typeof x 的调用会以字符串的形式返回数据类型;
如下所示
        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类型的转换

1.在算术函数和表达式中,会自动进行 number 类型转换。
比如,当把除法 / 用于非 number 类型:
2.当我们从 string 类型源(如文本表单)中读取一个值,但期望输入一个数字时,通常需要进行显式转换。
3.如果该字符串不是一个有效的数字,转换的结果会是 NaN即not a number的缩写。当字符串为“123”此时用number就可以将这个字符串化为数字类型,但要是“abc”此时用number进行转换就会显示为NAN。
例一.
        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,其他的都可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值