JS-数据类型

JS-数据类型

  1. JS中,字面量的数据类型一共有6种:

    String 字符串

    Number 数值

    Boolean 布尔值

    Null 空值

    Undefined 未定义

    Object 对象

    其中String Number Boolean NullUndefined属于基本数据类型Object属于引用数据类型

  2. String字符串

    —在JS中使用字符串需要使用引号引起来,单引号双引号都可以,成对使用不能单双引号混合使用

    —引号不能嵌套使用,双引号里面不可以放置双引号,单引号里面不可以放置单引号;

    —可以使用\作为转义字符,当输出一些特殊符号时,可以使用\进行转义,例如:表示双引号:\"

    \n:表示换行;

    \t:表示制表符(Tab);

    \\:表示\

  3. Number数值

    —在JS中所有的数值都是Number类型,包括整数和浮点数(小数)

    —可以使用运算符typeof检查变量的类型:

    —语法:typeof 变量;

    —检查字符串时,会返回string

    —检查数值时,会返回number

    —JS中返回数值最大值:Number.MAX_VALUE

    —如果使用Number表示的数字超过了最大值,则会返回一个infinity表示正无穷;

    infinity可以直接使用,表示正无穷,-infinity表示负无穷,使用typeof检查时返回number类型;

    NaN 是一个特殊的数字,not a number 表示非数值,使用typeof检查NaN时,返回number

    —JS中返回数值最小值:Number.MIN_VALUE(其值大于零);

    —JS中整数运算基本可以计算精确,但是如果使用JS进行浮点数运算,可能得到一个不精确的结果;因此尽量减少JS进行对精确度要求较高的计算

  4. Boolean布尔值

    —布尔值只有两个值,主要用于逻辑判断:

    ​ —true:逻辑真;

    ​ —false: 逻辑假;

    —使用typeof检查一个布尔值,会返回boolean

  5. NullUndefined

    Null类型的值只有一个:null

    ​ —null这个值专门用来表示一个为空的对象

    ​ —使用typeof检查Null类型时,返回object

    Undefined类型的值只有一个:undefined,表示未定义

    ​ —当声明一个变量,但是未给变量赋值时,其值为undefined

    ​ —使用typeof检测Undefined类型时,返回undefined

  6. 强制类型转换—String

    将其他类型的数据转换为String类型:

    方式一调用被转换数据类型的toString()方法被转换数据.toString();

    该方法不会影响到原变量,它会将转换的结果返回;

    <script>
    	var a=123;
        a=a.toString();
        console.log(typeof a);//返回string型
    </script>
    

    但是NullUndefined这两个值没有toString()方法,如果调用这个方法会报错;

    方式一只适用于NumberBoolean两种数据类型;

    方式二调用String()函数,并将被转换的数据作为参数传递给函数;

    ​ 语法:String(被转换数据);

    ​ 使用String()函数作为强制转换时,对于NumberBoolean实际上就是调用toString()方法;而对于NullUndefined,会将null直接转换为"null"undefined直接转换为"undefined"

    <script>
    	var b=null;
        b=String(b);
        console.log(b);//返回"null"
        console.log(typeof b);//返回string型
    </script>
    
  7. 强制类型转换—Number

    将其他类型的数据类型转换为Number

    方式一使用Number()函数

    1. 字符串转换数值

    ——如果是纯数字的字符串,则直接将其转换为数字;

    ——如果字符串有非数字内容,则转换为NaN非数值;

    ——如果字符串是一个空的或者全是空格,则转换为0;

    1. 布尔值转换为数值

    ——true转换为数值 1;

    ——false转化为数值 0;

    1. Null转换为数值

    ——直接转换为数值0;

    1. Undefined转换为数值

    ——直接转换为 非数值NaN

    <script>
    	var a = "123";
        a = Number(a);
        console.log(a);//返回123
        console.log(typeof a);//返回number型
    </script>
    

    方式二:这种方式专门用来转换字符串类型:

    parseInt():把一个字符串转换为一个整数;

    parseFloat():把一个字符串转换为一个浮点数;

    parseInt()可以将一个字符串中有效的整数内容提取转换为数值;

    parseFloat()可以将一个字符串中有效的浮点内容转换为浮点数;

    —如果对非String使用parseInt()或者parseFloat(),它会先将其转换为String,然后再进行转换操作;

    可以利用parseInt()进行取整操作

    <script>
    	var b = "123px";
        b = parseInt(b);
        console.log(b);//返回123
        console.log(typeof b);//返回number型
        var c = null;
        //首先将c转换为字符串String型
        c = parseInt(c);
        console.log(c);//返回NaN
        console.log(typeof c);//返回number型
    </script>
    
  8. 强制类型转换—Boolean

    将其他类型的数据转换为Boolean

    方式一:调用Boolean()函数转换为Boolean类型;

    数字转换为布尔值

    除了0 和NaN,其余的转换为布尔值都为true

    字符串转换为布尔值

    除了空字符串,其余转换为布尔值都为true

    NullUndefined转换为布尔值都会为false

    对象object转换为布尔值是true

  9. 其他进制数字

    —十六进制数字:需要以0x开头;

    —八进制数字:需要以0开头;

    —二进制数字:需要以0b开头,不是所有的浏览器都支持;

    —像"070"这种字符串,有些浏览器会当作八进制解析,有些会当作十进制解析,解决方法:可以利用parseInt()进行转换时,传递第二个参数,指定数字的进制,使用逗号隔开:parseInt(a,10);

  10. 强制类型转换—隐式转换方法

String隐式转换方法:

可以利用将任意数据类型加上一个空字符串"",即可将其转换为String类型,这是一种隐式的类型转换,由浏览器自动完成;实际上也是调用String()函数;

Number隐式转换方法:

(1)任何值做 减 乘 除 运算都会自动转换为Number类型,可以利用这个特性进行Number类型转换;即 减0 乘1 除1将其转换为Number类型;原理和Number()函数一样,使用起来更加简单;

(2)一元运算符+对于非Number类型的值,首先转换为Number数值在进行运算,可以利用这个特性,+其他数据类型 将任意数据类型转换为Number类型,其原理和Number()函数一样;

Boolean隐式转换方法:

如果对非布尔值进行非运算,则会将其转换为布尔值,然后再取反;所以可以利用该特点,将其他数据类型转换为布尔类型,即对任意数据类型取两次非,将其转换为布尔类型,其原理和Boolean()函数一样;为任意的数据类型做两次非运算,即可将其转换为布尔值;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值