10

12-数据类型

 4 years ago
source link: http://www.cnblogs.com/xiaoaitongxue/p/12731320.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一、为什么要区分不同的数据类型

在计算机中,不同的数据所需占用的存储空间不同,为了充分利用存储空间,于是定义了不同的数据类型。而且,不同的数据类型,寓意也不同。

二、JS中一共有六种数据类型

  • 基本数据类型(值类型) :String 字符串、Number 数值、Boolean 布尔值、Null 空值、Undefined 未定义。
  • 引用数据类型(引用类型) :Object 对象。

注意:内置对象 Function、Array、Date、RegExp、Error等都是属于 Object 类型。也就是说,除了那五种基本数据类型之外,其他的,都称之为 Object类型。

面试问:引用数据类型有几种?

面试答:只有一种,即 Object 类型。

三、String类型

1.用引号包裹的就是String类型。————简单理解:String说:穿了我的衣服就是我的人了。

2.String中的转义字符

和css职工的特殊字符类似

  • " 表示 "`
  • \' 表示 '
  • \\ 表示 \
  • \r 表示回车
  • \n 表示换行。n 的意思是 newline。
  • \t 表示缩进。t 的意思是 tab。
  • \b 表示空格。b 的意思是 blank。

3.获取字符串的长度

String

<script>
    var str1 = '1;23';
    var str2 = '小艾 同学';
    var str3 = 'ab,cd';

    // 注意:
    // 中文、英文字母、数字都占一个字符
    // 中英文标点符号都占一个字符
    // 空格也占一个字符
    console.log(str1.length);//4
    console.log(str2.length);//5
    console.log(str3.length);//5
  </script>

4.字符串拼接

+ 号的连接的是一个字符串,就会变成连接符。

字符串和任何数据类型拼接,都会将拼接内容隐式转为字符串,并输出一个字符串。

var str = '小艾同学';
    
    console.log(str + 666);//小艾同学666
    console.log(str + false);//小艾同学false
    console.log(str + null);//小艾同学null

四、Number类型

所有的数字都是Number类型

<script>
        var num = 0x9;//前面加0x就是十六进制
        var num1 = 07;//前面加0代表八进制
        var num2 = 2e8;//e表示科学计数法次幂

        console.log(num);//9
        console.log(num1);//7
        console.log(num2);//1.7976931348623157e+308
        // Number最大范围
        console.log(Number.MAX_VALUE);//1.7976931348623157e+308
        // Number最小范围
        console.log(Number.MIN_VALUE);//5e-324
        // 无穷大Infinity
        console.log(Number.MAX_VALUE * 2);//Infinity
        // 无穷小-Infinity
        console.log(-Number.MAX_VALUE * 2);//-Infinity
    </script>

补充进制转换(以100为例)

几进制就是逢几进一→十进制逢十进一

各进制转十进制,就是*几进制的位数-1次幂...

+ 十进制转十进制
    100 = 1*10^2 + 0*10^1 + 0*10^0 = 100
+ 二进制转十进制
    100 = 1*2^2 + 0*2^1 + 0*2^0 = 4
+ 八进制转十进制(以0开头就是八进制)
    0100= 1*8^2 + 0*8^1 + 0*8^0 = 64
+ 十六进制转十进制(以0x开头就是十六进制)
    0x100 = 1*16^2 + 0*16^1 + 0*16^0 = 256

十进制转各进制就是/该进制的余数倒过来...

+ 十进制转二进制
    ![UTOOLS1587275379618.png](https://user-gold-cdn.xitu.io/2020/4/19/17190fc36d13bf04?w=859&h=667&f=png&s=80160)
+ 别的进制同理

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK