学习笔记整理-JS-02-基本类型

news2024/11/25 10:25:27

文章目录

    • 一、数据类型简介和检测
      • 1. `JavaScript`中两大数据类型
    • 二、基本数据类型
      • 1. 数字类型
      • 2. 字符串类型
      • 3. 布尔类型
      • 4. `undefined`类型
      • 5. `null`
    • 三、数据类型的转换
      • 1. 数据类型的转换
    • 四、重点内容

一、数据类型简介和检测

1. JavaScript中两大数据类型

  • 基本数据类型

    • Number String Boolean Undefined Null
  • 复杂数据类型

    • Object Array Function RegExp Date Map Set Symbol等等
  • typeof运算法

    • 使用typeof运算法可以检测值或者变量的类型
      类型名typeof检测结果值举例
      数字类型number5
      字符串类型string‘张三’
      基本类型值布尔类型booleantrue
      undefined类型undefinedundefined
      null类型objectnull

二、基本数据类型

1. 数字类型

  • 所有数字不分大小、不分整浮、不分正负、都是数字类型
      typeof 925  // number
      typeof 3.13 // number
      typeof -6   // number
    
  • 小数中0可以省略
      .5;        // 0.5
      typeof .5  // number
    
  • 科学计数法,较大数或较小数(绝对值较小)可以写成科学计数法
      3e8;         // 300000000
      typeof 3e8;  // number
    
      3e-4;        // 0.0003
      typeof 3e-4; // number 
    
  • 不同进制的数字
    • 二进制数值以0b开头
        0b10      // 2
        0b1111    // 15
      
    • 八进制数值以0开头
        017     // 15  
      
    • 十六值数字以0x开头
        0xf     // 15
      
  • 一个特殊的数字型值NaN
    • NaN是英语"not a number"的意思,即"不是一个数",但它是一个数字型的值。
        typeof NaN;   // number
      
    • 0除以0的结果是NaN,事实上,在数学运算中,若结果不能得到数字,其结果往往都是NaN
    • NaN有一个"奇怪"的性质:不自等。

2. 字符串类型

  • 字符串要引用引号包裹,双引号或者单引号均可。

      typeof "张三";   // string
    
  • 分清数字和字符串

    • 数字11和字符串'11'在语义上是不同的,前者表达一个数量,后者表达一个文本。
        typeof 11;    // number
        typeof '11';  // string
      
  • 字符串的拼接

    • 加号可以用来拼接多个字符串
        'zhang' + 'san'
      
  • 字符串和变量的拼接

    • 要将一个变量的值"插入"到字符串中,要"斩断链接"
        var year = 2018;
        var str = "北京奥运会" + year + "年召开";
      
    • ES5中可以使用反引号拼接
        const year = 2018;
        const str = `北京奥运会${year}年召开`;
      
  • 空字符串

    • 一些时候需要使用空字符串,直接书写闭合的引号即可。
        var str = "";
      
  • 字符串的length属性

    • 字符串的length属性表示字符串的长度
        "zhangsan".length;  // 8
        "".length;          // 0
      
  • 字符串的常用方法

    方法功能
    charAt()得到指定位置字符
    substring()提取子串
    substr()提取子串
    slice()提取子串
    toUpperCase()将字符串变为大写
    toLowerCase()将字符串变为小写
    indexOf()检索字符串
    • charAt()方法

      • 可以得到指定位置的字符
          "张三".charAt(0);  // 张
        
    • substring()、substr()、slice()方法

      • substring(a, b)方法得到从a开始到b结束(不包括b处)的子串。
          'JavaScript 是最好的语言'.substring(3, 5); // 'aS'
        
      • substring(a, b)方法如果省略第二个参数,返回的子串会一直到字符串的结尾。
          'JavaScript 是最好的语言'.substring(3); // 'aScript 是最好的语言'
        
      • substring(a, b)中,a可以大于b,数字顺序将自动调整为小数在前。
          'JavaScript 是最好的语言'.substring(5, 3); // 'aS'     
        
      • substr(a, b)中,将得到从a开始的长度为b的子串
          'JavaScript 是最好的语言'.substr(5, 3); // 'cri'         
        
      • substr(a, b)中,b可以省略,表示到字符串结尾。
      • substr(a, b)中,a可以是负数,表示倒数位置。
          'JavaScript 是最好的语言'.substr(-5, 3); // '最好的'     
        
      • slice(a, b)的参数a可以是负数。
          'JavaScript 是最好的语言'.slice(-5, -1); // '最好的语'     
        
      • slice(a, b)中,参数a必须小于参数b
          'JavaScript 是最好的语言'.slice(5, 2); // ''         
        
      • 对比总结
        • substring(a, b)slice(a, b)功能基本一致,都是得到从a开始到b结束(不包括b)的子串,区别:
          • substring()可以自动交换两个参数位置,而slice()不行;
          • slice()的参数a可以是负数,而substring()不行。
        • substr(a,b)中参数b是子串长度,而不是位置编号`
    • toUpperCase()转为大写

         'zhangsan'.toUpperCase(); // 'ZHANGSAN'
      
    • toLowerCase()转为小写

         'ZHANGSAN'.toLowerCase(); // 'zhangsan'
      
    • indexOf()方法返回某个指定的字符串值在字符串中首次出现的位置

      • 如果要检索的字符串值没有出现,则该返回-1
          "abcdef".indexOf('b');  // 1
          "abcdef".indexOf('g');  // -1   
        

3. 布尔类型

  • `布尔[Boole·George]英国19世纪数学家及逻辑学家。
  • 布尔型值只有两个:truefalse,分别表示真和假

4. undefined类型

  • 一个没有被赋值的变量的默认值是undefined,而underfined的类型也是underfined
  • 即:underfined又是值,又是一种类型,这种类型只有它自己一个值。
      typeof undefined;   // undefined
    
  • 在变量声明提升时,变量的值也是undefined

5. null

  • null表示"空",它是"空对象"。
  • 当我们需要将对象销毁、数组销毁或者删除事件监听时,通常将它们设置为null
  • typeof检测null结果是object
    • 使用typeof检测null值,结果是object
    • 类型和typeof检测结果并不总是一一对应,比如数组用typeof检测结果也是object

三、数据类型的转换

1. 数据类型的转换

  • 使用Number()函数
    number.png

  • 使用parseInt()函数的功能是将字符串转为整数
    parseInt.png

  • 使用parseFloat()函数的功能将字符串转为浮点数
    parseFloat.png

  • 使用toString()方法,几乎所有值都有toString()方法,功能就是将值转为字符串。

  • 使用Boolean()函数
    boolean.png

四、重点内容

  • JavaScript中有哪些基本类型值? 它们的typeof检测结果是什么?
  • 说出下面几个特殊值是什么:
    • NaN
    • undefined
    • null
  • 各种类型值相互转换的方法和转换规律
  • 下面表达式的结果是?
        parseInt('3.6'+'5.1'); // 3
        Boolean('false'); // true
        0/0 // NaN
        4/0 // Infinity
    
  • 请说出substring()、substr()和slice()方法的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/873154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android学习之路(3) 布局

线性布局LinearLayout 前几个小节的例程中,XML文件用到了LinearLayout布局,它的学名为线性布局。顾名思义,线性布局 像是用一根线把它的内部视图串起来,故而内部视图之间的排列顺序是固定的,要么从左到右排列&#xf…

最强自动化测试框架Playwright(22)-模拟器

可以使用测试生成器通过仿真生成测试,以便为特定窗口、设备、配色方案生成测试,以及模拟地理位置、语言或时区。测试生成器还可以生成测试,同时保留经过身份验证的状态。 模拟视口大小 Playwright 打开一个浏览器窗口,其视口设置…

电路基础之电容

电容器(Capacitor)是由两个导体电极之间夹着一个电介质而组成的元件。这两个电极可以是金属板、箔片、涂层等,而电介质则是放置在电极之间的绝缘材料。电容器的基本构成包括以下几个要素: 电极:电容器的电极是两个导体…

无涯教程-Perl - readpipe函数

描述 该函数将EXPR作为命令执行。然后,将输出作为标量文本中的多行字符串返回,或者将行作为列表context中的单个元素返回。 语法 以下是此函数的简单语法- readpipe EXPR返回值 此函数在标量context中返回String,在列表context中返回List。 例 以下是显示其基本用法的示…

HTML详解连载(6)

HTML详解连载(6) 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽CSS特性继承性注意 层叠性特点 优先级规则公式注意 叠加计算公式(每以及之间不存在进位)规则 Emmet写法分析属性名属性值注意 背景图平铺方式属性…

【分布式存储】数据存储和检索~B+树

为什么数据存储结构重要 在存储系统中,其实不管数据是什么样的,归根结底其实都还是取决于数据的底层存储结构,而主要常见的就是数据库索引结构,B树、Redis中跳表、以及LSM、搜索引擎中的倒排索引。本质都是如何利用不用的数据结构…

群辉nas看剧设置

首先打开NAS的后台页面,打开“控制面板” 然后依次点开“文件服务--SMB--高级设置”,在最小SMB协议后面的方框选择“SMB1",然后点击”保存“按钮即可,这里这样设置的原因是因为还有很多旧设备只支持SMB1(我几年前…

章节7:Burp Intruder模块

章节7:Burp Intruder模块 参考资料 https://portswigger.net/burp/documentation/desktop/tools/intruder 01 Intruder模块作用与原理 原理 http://xxx.xx.com/bbs/index.php?namewuyanzu&mottogo 对请求参数进行修改,分析响应内容&#xff0…

腾讯:海量小文件场景下CephFS优化之路

Ceph开源社区 2021-02-25 17:58 摘自:https://mp.weixin.qq.com/s/rTNyzY9W3ZunroYo57tjoA 1. 背景 随着大数据、人工智能技术的蓬勃发展,人类对于算力资源的需求也迎来大幅度的增长。在腾讯内部,星辰算力平台以降本增效为目标,…

数据分析 | 随机森林如何确定参数空间的搜索范围

1. 随机森林超参数 极其重要的三个超参数是必须要调整的,一般再加上两到三个其他超参数进行优化即可。 2. 学习曲线确定n_estimators搜索范围 首先导入必要的库,使用sklearn自带的房价预测数据集: import numpy as np import pandas as pd f…

最强自动化测试框架Playwright(18)- 执行js脚本

page.evaluate() API 可以在网页上下文中运行 JavaScript 函数,并将结果带回 Playwright 环境。 href page.evaluate(() > document.location.href) 如果结果是 Promise 或函数是异步的,则计算将自动等待,直到解析…

虚拟现实与增强现实技术的商业应用

章节一:引言 随着科技的不断发展,虚拟现实(Virtual Reality,简称VR)与增强现实(Augmented Reality,简称AR)技术正日益成为商业领域中的重要创新力量。这两种技术为企业带来了前所未…

Android多屏幕支持-Android12

Android多屏幕支持-Android12 1、概览及相关文章2、屏幕窗口配置2.1 配置xml文件2.2 DisplayInfo#uniqueId 屏幕标识2.3 adb查看信息 3、配置文件解析3.1 xml字段读取3.2 简要时序图 4、每屏幕焦点 android12-release 1、概览及相关文章 AOSP > 文档 > 心主题 > 多屏…

206、仿真-51单片机锂电池蓄电池电压电流加按键控制开关状态Proteus仿真设计(程序+Proteus仿真+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&a…

基于STM32CUBEMX驱动TMOS模块STHS34PF80(1)----获取ID

基于STM32CUBEMX驱动TMOS模块STHS34PF80----1.获取ID 概述样品申请视频教程所有功能接口最小系统图生成STM32CUBEMX串口配置IIC配置IO口设置串口重定向 模块地址参考demoIIC写函数IIC读函数参考程序初始化获取ID主函数 概述 STHS34PF80 是一款非冷却、工厂校准的红外运动和存在…

变压器保护高侧过流保护整定原则

电流速断保护的动作电流可按下列两个条件来选择: (1) 躲过厂用变压器负荷侧母线上短路时流过保护装置的最大短路电流。 动作电流整定为: IsdKkIDmax (1-1) 式中 Kk——可靠系数, 一般取1.3&…

Oracle将与Kubernetes合作推出DevOps解决方案!

导读Oracle想成为云计算领域的巨头,但它不是推出自己品牌的云DevOps软件,而是将与CoreOS在Kubernetes端展开合作。七年前,Oracle想要成为Linux领域的一家重量级公司。于是,Oracle主席拉里埃利森(Larry Ellison&#xf…

【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?

判断时间序列数据是否为平稳时间序列或非平稳时间序列,通常可以通过以下方法: (1)观察时间序列数据的均值和方差是否随时间变化而发生明显的改变。若均值和方差变化明显,则该时间序列数据可能为非平稳时间序列&#x…

章节5:Burp 扫描功能

章节5:Burp 扫描功能 参考资料 https://portswigger.net/burp/documentation/scanner https://portswigger.net/burp/documentation/desktop/scanning 模块总体介绍: https://portswigger.net/burp/vulnerability-scanner 扫描功能的使用&#xff…

深入了解 Vue 3 组件间通信机制

什么是组件? 在 Vue3 中,组件是构建应用界面的核心概念之一。组件可以看作是可复用、自包含和可组合的代码块,用于封装 UI 元素和相应的行为逻辑。 通俗来说就是,组件(Component)是一种对数据和方法的简单…