• 【无标题】


    目录

    一、变量的数据类型

    二、数据类型分类

    1.布尔型

    2.字符串型

    3.数字型

    4.null

    5.undefined

    三、数据类型检测

    四、数据类型转换

    1.转换为字符串型

    2.转换为数字型

    3.转换为布尔型


    一、变量的数据类型

    JavaScript是一种弱类型语言不用提前声明变量的数据类型。在程序运行过程中,变量的数据类型会被自动确定。(即给变量赋什么值,变量就是什么类型)

    • 强类型语言:如:Java、C、C++
    • 弱类型语言:如:JavaScript、Python、Go

    二、数据类型分类

    JavaScript中的数据类型分为两大类,基本数据类型复杂数据类型(也称为引用数据类型)。

    1.布尔型

    布尔型通常用于逻辑判断,它有两个值:true和false,表示事物的“真”和“假”。

    1. var flag = true;
    2. console.log(flag); // 输出:true
    3. console.log(flag+12); // 将true转换为整数的1,输出:13
    4. var jia = false;
    5. console.log(jia); // 输出结果:false
    6. console.log(jia - 1); // 将false转换为整数的0,输出结果:-1

    2.字符串型

    字符串是指计算机中用于表示文本的一系列字符,在JavaScript中使用单引号或双引号来包裹字符串。

    1. var str1 = '单引号字符串';
    2. var str2 = "双引号字符串";

    (1)单、双引号嵌套

    • 在单引号字符串中可以直接书写双引号
    • 在双引号字符串中也可以直接书写单引号
    1. var str1 = 'I am a "programmer"'; // I am a "programmer"
    2. var str2 = "I'm a 'programmer'"; // I'm a 'programmer'

    (2)转义符

    在字符串中使用换行、Tab等特殊符号时,可以用转义符来进行转义,转义符以“\”开始。常见转义符见下表:

    转义符解释说明
    \'单引号
    \"双引号
    \n回车换行,n表示newline
    \v跳格(Tab、水平)
    \tTab符号,水平制表符
    \rCR换行
    \f换页
    \\反斜线(\)
    \b退格,删除光标左边的字符b表示blank
    \0Null字节
    \xhh由2位十六进制数字hh表示的ISO-8859-1字符。如“\x61”表示“a”
    \uhhhh由4位十六进制数字hhhh表示的Unicode字符。如“\u597d”表示“好”

    (3)字符串长度

    字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度。(所谓字符串的长度表示字符串中有效字符的个数)

    1. var str1 = 'I\'m a programmer';
    2. console.log(str1.length);

      

    (4)访问字符串中的字符

    字符串可以使用“字符串变量[index]”语法按照index(索引)访问字符,index必须是0~length-1之间的整数,如果超过了index最大值,会返回undefined。

    1. var str = 'I\'m a programmer';
    2. console.log(str[0]); // 输出结果:I
    3. console.log(str[1]); // 输出结果:'
    4. console.log(str[15]); // 输出结果:r
    5. console.log(str[16]); // 输出结果:undefined

      

    (5)字符串拼接

    多个字符串之间可以使用“+”进行拼接,如果数据类型不同,拼接前会把其他类型转成字符串,再拼接成一个新的字符串。

    1. var str = 'I\'m a programmer';
    2. console.log('a' + 'b'); // ab
    3. console.log('a' + 18); // a18
    4. console.log('_' + true); // _true
    5. console.log('1' + '2'); // 12 数字字符串:用单/双引号括起来的数字序列
    6. console.log('12' + 14); // 1214 同上
    7. console.log(12 + 14); // 两个数字相加,结果为26

     

    举例:

    “显示年龄”案例:弹出一个输入框,让用户输入年龄。输入后,单击“确定”按钮,程序弹出来一个警告框,显示内容为“您今年x岁了”,x表示刚才输入的年龄。

    1. var age = prompt('请输入您的年龄'); // 弹出一个输入框,让用户输入年龄
    2. var msg = '您今年' + age + '岁了'; // 将年龄与输出的字符串拼接
    3. alert(msg); // 弹出警告框,输出程序的处理结果

    效果图:

     

    3.数字型

    JavaScript中的数字型可以用来保存整数浮点数(小数)。

    1. var age = 18; // 整数
    2. var pi = 3.14; // 浮点数(小数)

    (1)常见的进制

    • 二进制:由0和1组成。
    • 八进制数:在数字开头加上0,八进制数由0~7组成,逢8进位。
    • 十进制数:是组成以10为基础的数字系统,由0~9组成,逢10进位。
    • 十六进制数:在数字开头加上0x,十六进制数由0~9,a~f组成。

    (2)范围:数字型的最大值和最小值

    • 最大值:Number.MAX_VALUE,输出结果:1.7976931348623157e+308
    • 最小值:Number.MIN_VALUE,输出结果:5e-324
    1. console.log("数字型的最大值:",Number.MAX_VALUE);
    2. console.log("数字型的最小值:",Number.MIN_VALUE);

     

     (3)数字型的3个特殊值

    • Infinity(无穷大) :如Number.MAX_VALUE*2
    • - Infinity(无穷小) :如-Number.MAX_VALUE*2
    • NaN(Not a Number 非数值): isNaN(args)函数用来判断参数args是否是一个数字,若args是数字(包括数字字符串)函数返回false;若args是非数字,函数返回为true
    1. // Infinity(无穷大) :如Number.MAX_VALUE*2
    2. console.log("无穷大:", Number.MAX_VALUE*2);
    3. // - Infinity(无穷小) :如-Number.MAX_VALUE*2
    4. console.log("无穷小:", -Number.MAX_VALUE*2);
    5. // NaN(Not a Number 非数值): isNaN(args)函数用来判断参数args是否是一个数字,若args是数字(包括数字字符串)函数返回false;若args是非数字,函数返回为true
    6. console.log("非数字:",isNaN("abc"));
    7. console.log("数字:",isNaN(333));

      

    4.null

    空值。

    1. // 演示null的使用
    2. var b = null;
    3. console.log(b + '_'); // 输出结果:null_(字符串型)
    4. console.log(b + 1); // 输出结果:1(b转换为0)
    5. console.log(b + true); // 输出结果:1(b转换为0,true转换为1)

    注意:空值和空串的区别

    1. var a = ''; //空串
    2. var b = null; //空值

    5.undefined

    未定义类型。如果一个变量声明后没有赋值,则变量的值就是undefined。下面通过代码演示undefined的使用。

    1. // 演示undefined的使用
    2. console.log(true); // 输出结果:true
    3. var a;
    4. console.log(a); // 输出结果:undefined
    5. console.log(a + '_'); // 输出结果:undefined_(字符串型)
    6. console.log(a + 1); // 输出结果:NaN

    三、数据类型检测运算符

    可以利用typeof运算符进行数据类型检测,返回一个变量或者一个数据的数据类型。

    1. console.log(typeof 12); // 输出结果:number
    2. console.log(typeof null); // 输出结果:object
    3. var a = '12';
    4. console.log(typeof a); // 输出变量a的数据类型。输出结果:string
    5. console.log(typeof a == 'string'); // 输出结果:true

    四、数据类型转换

    1.转换为字符串型

    转换为字符串型的3种常见的方式:

    ①利用“+”拼接字符串(最常用的一种方式)

    ②利用toString()转换成字符串

    举例:

    1. var t1 = 1024;
    2. console.log(t1.toString()); //将数值变量t1转换成字符串

    注意:null和undefined无法使用toSting()方式进行转换;对于数字型的变量,可以在toString()的小括号中传入参数,来进行进制转换。

    数值转换举例:

    1. var t1 = 10;
    2. console.log(t1.toString(2)); //转换成二进制

    效果图:

     

    ③利用String()转换成字符串,以对象方式输出。(是JavaScript的内置类,可以直接使用) 

    举例:

    1. var str = new String('早睡早起长头发');
    2. console.log(str);

     效果图:

    2.转换为数字型

    转换为数字型的4种常见的方式:

    ①使用parseInt()数字字符串转为整数

    举例:

    1. var temp = '1234'; // 数字字符串
    2. var k = parseInt(temp); // 转成整数
    3. console.log(k);
    4. console.log(typeof k);

    效果图:

    ②使用parseFloat()数字字符串转为浮点数

    举例:

    1. var temp = '3.14159'; // 数字字符串
    2. var k = parseFloat(temp); // 转成小数
    3. console.log(k);
    4. console.log(typeof k);

    效果图:

    ③使用Number()将字符串转为数字型(整数、小数都可以)

    举例:

    1. var temp = '3.14159';
    2. var k = Number(temp);
    3. console.log(k);
    4. console.log(typeof k);

    效果图:

    ④利用算术运算符(-、*、/)隐式转换

    例题:

    (1)“计算年龄”案例,要求在页面中弹出一个输入框,提示用户输入出生年份,利用出生年份计算用户的年龄。

    1. var year = prompt('请输入您的年龄');
    2. var age = 2020 - parseInt(year);
    3. alert('您今年已经' + age + '岁了');

    (2)“简单加法器”案例,要求在页面中弹出两个输入框,分别输入两个数字,然后返回两个数字相加的结果。

    1. var num1 = prompt('请输入第一个数:');
    2. var num2 = prompt('请输入第二个数:');
    3. var result = parseFloat(num1) + parseFloat(num2);
    4. alert('计算结果是:' + result);

    (3)“计算商品总价”案例

    1. <body>
    2. <label>
    3. 商品单价:<input type="text" id="price">
    4. label>
    5. <br><br>
    6. <label>
    7. 购买数量:<input type="text" id="num">
    8. label>
    9. <br><br>
    10. <label>
    11. 预计总价:<input type="text" id="total">
    12. label>
    13. <br><br>
    14. <button onclick="getTotal()">计算看看button>
    15. <script>
    16. //定义函数
    17. function getTotal() {
    18. //1.获取单价和数量:获取input中的值
    19. // var p1 = document.getElementById('price') // 获取的是Input文本框
    20. var p1 = document.getElementById('price').value // 获取的是文本框中的值
    21. var n1 = document.getElementById('num').value
    22. //2.进行转换:将字符串转换成数字
    23. var sum = Number(p1) * Number(n1);
    24. //3.将运算结果放入总价的input中
    25. document.getElementById('total').value = sum;
    26. }
    27. script>
    28. body>

    示例图:

    3.转换为布尔型

    转换为布尔型使用Boolean(),在转换时,代表空、否定的值会被转换为false,如空字符串、0、NaN、null和undefined,其余的值转换为true。

    1. console.log(Boolean('')); // false
    2. console.log(Boolean(0)); // false
    3. console.log(Boolean(NaN)); // false
    4. console.log(Boolean(null)); // false
    5. console.log(Boolean(undefined)); // false
    6. console.log(Boolean('小白')); // true
    7. console.log(Boolean(12)); // true

  • 相关阅读:
    《Effective C++》条款17
    面向万物智联的语义通信网络
    构建 App 的方法
    投资理财(待更新,仅供个人使用)
    【TS】any和void
    RoCE多网卡时,报文可以过去,但是回不来
    如何编写测试团队通用的Jmeter脚本
    QT 5.8
    同时上3种手段,保障Quartz不重复执行任务
    antd table表格支持多选框选择当前列,进行格式设置等
  • 原文地址:https://blog.csdn.net/weixin_51481135/article/details/126710621