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

文章目录

    • 一、数据类型简介和检测
      • 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  // numbertypeof 3.13 // numbertypeof -6   // number
    
  • 小数中0可以省略
      .5;        // 0.5typeof .5  // number
    
  • 科学计数法,较大数或较小数(绝对值较小)可以写成科学计数法
      3e8;         // 300000000typeof 3e8;  // number3e-4;        // 0.0003typeof 3e-4; // number 
    
  • 不同进制的数字
    • 二进制数值以0b开头
        0b10      // 20b1111    // 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;    // numbertypeof '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'); // 3Boolean('false'); // true0/0 // NaN4/0 // Infinity
    
  • 请说出substring()、substr()和slice()方法的区别

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux 网络】 数据链路层协议

数据链路层协议 数据链路层解决的问题以太网协议认识以太网以太网帧格式 认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响ARP协议ARP协议的作用ARP协议的工作流程ARP数据报的格式 总结 数据链路层解决的问题 IP拥有将数据跨…

认识 spring 中的事务 与 事务的传播机制

前言 本篇介绍spring中事务的实现方式,如何实现声明式事务,对事物进行参数的设置,了解事务的隔离级别和事务的传播机制;如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录…

python环境下载安装教程,python运行环境怎么下载

本篇文章给大家谈谈python安装步骤以及环境变量配置,以及下载python需要设置环境变量吗,希望对各位有所帮助,不要忘了收藏本站喔。 1.https://www.python.org/downloads/windows/ 下载适合自己电脑的python安装包 2.下载后安装即可 3.配置环…

FastAPI和Flask:构建RESTful API的比较分析

Python 是一种功能强大的编程语言,广泛应用于 Web 开发领域。FastAPI 和 Flask 是 Python Web 开发中最受欢迎的两个框架。本文将对 FastAPI 和 Flask 进行综合对比,探讨它们在语法和表达能力、生态系统和社区支持、性能和扩展性、开发工具和调试支持、安…

LVS集群和nginx负载均衡

目录 1、基于 CentOS 7 构建 LVS-DR 群集。 2、配置nginx负载均衡。 1、基于 CentOS 7 构建 LVS-DR 群集。 1.部署LVS负载调度器 1>安装配置工具 [rootnode6 ~]# yum install -y ipvsadm 2>配置LVS虚拟IP(VIP地址) [rootnode6 ~]# ifconfig ens…

测试开发探索:“WeTalk“网页聊天室的测试流程与自动化

目录 引言: 测试开发目标: "WeTalk"项目背景 关于登录测试用例的设计 测试开发策略与流程 集成测试:Selenium JUnit 接口测试:Postman 测试用例的设计与实现 自动化测试演示: 用例一:登…

vulnhub靶机Deathnote

难度:easy 下载地址:https://download.vulnhub.com/deathnote/Deathnote.ova 主机发现 arp-scan -l 端口扫描 nmap --min-rate 10000 -p- 192.168.21.140 进一步查看目标的端口的服务和版本 nmap -sV -sT -O -p22,80 192.168.21.140 扫描端口的漏洞…

CNN(四):ResNet与DenseNet结合--DPN

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 前面实现了ResNet和DenseNet的算法,了解了它们有各自的特点: ResNet:通过建立前面层与后面层之间的“短路…

springboot生成表结构和表数据sql

需求 业务背景是需要某单机程序需要把正在进行的任务导出,然后另一台电脑上单机继续运行,我这里选择的方案是同步SQL形式,并保证ID随机,多个数据库不会重复。 实现 package com.nari.web.controller.demo.controller;import cn…

【大数据】Flink 详解(二):核心篇 Ⅱ

Flink 详解(二):核心篇 Ⅱ 22、刚才提到 State,那你简单说一下什么是 State。 在 Flink 中,状态 被称作 state,是用来保存中间的计算结果或者缓存数据。根据状态是否需要保存中间结果,分为 无状…

OpenCV基本操作——图像的基础操作

目录 图像的IO操作读取图像显示图像保存图像 绘制几何图形绘制直线绘制圆形绘制矩形向图像中添加文字效果展示 获取并修改图像中的像素点获取图像的属性图像通道的拆分与合并色彩空间的改变 图像的IO操作 读取图像 cv2.imread()import numpy as np import cv2 imgcv2.imread(…

7-4 求整数均值

本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出4个整数,其间以空格分隔。 输出格式: 在一行中按照格式“Sum 和; Average 平均值”顺序输出和与平均值,其中平均值精确到小…

windows10 安装WSL2, Ubuntu,docker

AI- 通过docker开发调试部署ChatLLM 阅读时长:10分钟 本文内容: window上安装ubuntu虚拟机,并在虚拟机中安装docker,通过docker部署数字人模型,通过vscode链接到虚拟机进行开发调试.调试完成后,直接部署在云…

【C语言】每日一题(错误的集合)

最近在牛客、力扣上做题,花费海量时间,苦不堪言,有时绞尽脑汁也想不出,痛定思痛,每日记录写的比较困难的题。 错误的集合 题目如上图所示 题主乍看之下觉得很简单,再看例子,不就是一个有序数组…

Spring Boot单元测试与Mybatis单表增删改查

目录 1. Spring Boot单元测试 1.1 什么是单元测试? 1.2 单元测试有哪些好处? 1.3 Spring Boot 单元测试使用 单元测试的实现步骤 1. 生成单元测试类 2. 添加单元测试代码 简单的断言说明 2. Mybatis 单表增删改查 2.1 单表查询 2.2 参数占位符 ${} 和 #{} ${} 和 …

docker搭建LNMP

docker安装 略 下载镜像 nginx:最新版php-fpm:根据自己需求而定mysql:根据自己需求定 以下是我搭建LNMP使用的镜像版本 rootVM-12-16-ubuntu:/docker/lnmp/php/etc# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 8.0…

分支语句和循环语句(1)

这篇文章我们详细的把分支语句和循环语句给大家进行讲解。 分支语句: if switch 循环语句: while for do while goto语句: 1.什么是语句? C语句可分为以下五类: 1. 表达式语句 2. 函数调用语句 3. 控制…

opencv实战项目 手势识别-手势控制键盘

手势识别是一种人机交互技术,通过识别人的手势动作,从而实现对计算机、智能手机、智能电视等设备的操作和控制。 1. opencv实现手部追踪(定位手部关键点) 2.opencv实战项目 实现手势跟踪并返回位置信息(封装调用&am…

机器学习线性代数基础

本文是斯坦福大学CS 229机器学习课程的基础材料,原始文件下载 原文作者:Zico Kolter,修改:Chuong Do, Tengyu Ma 翻译:黄海广 备注:请关注github的更新,线性代数和概率论已经更新完毕…

多元最短路(Floyd)

是一个基于动态规划的全源最短路算法。它可以高效地求出图上任意两点之间的最短路 时间复杂度 O(n^3) 状态转移方程 f[i][j]min(f[i][j],f[i][k]f[k][j]) 核心代码 void floyd(){for(int k1;k<n;k)for(int i1;i<n;i)for(int j1;j<n;j)s[i][j]min(s[i][j],s[i][k…