零碎改动(ES6+)

news/2024/7/11 1:43:50 标签: es6, javascript, 前端

这里写自定义目录标题

    • let 和 const
    • 幂运算
    • 字符串新增API

let 和 const

ES6建议不再使用var定义变量,而使用let定义变量,const定义常量

let a = 1; // 使用 let 定义变量
a = 2; // 变量的值是可修改的

const b = 1; // 使用 const 定义常量
b = 2; // ❌ 报错,常量的值不可修改

对于开发的影响:均使用const,实在需要修改变量,再改为let

let age = 17
....
很多行代码之后
age = 'nick'
age的意思都改了,很不容易发现,所以开发尽量用const
  • 全局定义的变量不再作为属性添加到全局对象中
    在这里插入图片描述

以前用var定义一个变量a,window.a也会有
现在用let 定义一个变量,window.b就不存在了
  • 在变量定义之前使用它会报错
//原先这么写不会报错,很奇葩。
console.log(age)
var age = 1

在这里插入图片描述

//现在的写法,要先初始化 才行
console.log(age)
let age = 17

在这里插入图片描述

  • 不可重复定义同名变量
// var a = 1
// var a = 3
// console.log(a)
let a = 1;
// let a = 3; //错误
a = 3; //可以重新赋值,但不能重新定义了。
a已经存在了你不能再重新定义了
  • 使用const定义变量时,必须初始化(定义好后还要赋值)
const a = 3;
  • 变量具有块级作用域,在代码块之外不可使用
js
if(true){
    let a = 2;
}
console.log(a)
a只能在代码块里使用

在这里插入图片描述

var 提升了,用的最后都是10
for(var a = 1;a<10 ;a++){
    setTimeout(()=>{
        console.log(a)
    },1000);
}

在这里插入图片描述

for(let i = 0;i < 10; i++){
    setTimeout(()=>{
        console.log(i);
    },1000)
}

在这里插入图片描述

幂运算

2 ** 3  // 8
2 ** 4  // 16

字符串新增API

API含义
String.prototype.includes(s)字符串中是否包含某个子串
String.prototype.trim()去掉字符串首尾空白字符
String.prototype.trimStart()去掉字符串开始的空白字符
String.prototype.trimEnd()去掉字符串末尾的空白字符
String.prototype.replaceAll(s, t)将字符串中所有的s替换为t
String.prototype.startsWith(s)判断字符串是否以s开头
String.prototype.endsWith(s)判断字符串是否以s结尾

http://www.niftyadmin.cn/n/5020045.html

相关文章

黑马JVM总结(五)

&#xff08;1&#xff09;方法区 它是所有java虚拟机 线程共享的区&#xff0c;存储着跟类的结构相关的信息&#xff0c;类的成员变量&#xff0c;方法数据&#xff0c;成员方法&#xff0c;构造器方法&#xff0c;特殊方法&#xff08;类的构造器&#xff09; 方法区在虚拟机…

GoConvey中Convey嵌套时的执行顺序

今天在用GoConvey写单测时掉到了坑里&#xff0c;发现Convey的执行顺序并不像之前我想象的那样。实际上&#xff0c;每执行一次最内层的Convey都会从最外层开始逐层执行Convey的&#xff0c;只不过每次执行都会略过最内层已经执行过的Convey。 一个简单的例子就可以很好的帮助…

Pytorch intermediate(二) ResNet

实现了残差网络&#xff0c;残差网络结构。代码比之前复杂很多 conv3x3&#xff1a;将输入数据进行一次卷积&#xff0c;将数据转换成为&#xff0c;残差块需要的shape大小 ResidualBlock&#xff1a;残差块&#xff0c;也是所谓的恒等块。为什么被称为恒等块&#xff0c;大概…

在 ubuntu20.04 上安装 Pytorch

参考资料&#xff1a;https://www.linode.com/docs/guides/pytorch-installation-ubuntu-2004/ sudo apt update sudo apt install nvidia-cuda-toolkit (3G) mkdir anaconda cd ~/anaconda wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh chmod …

AWS EC2入门指南中创建和配置云虚拟机实例的基本步骤

文章目录 创建 AWS 账户登录 AWS 控制台导航到 EC2 控制台启动 EC2 实例选择 AMI&#xff08;Amazon Machine Image&#xff09;选择实例类型配置实例添加存储审查和启动实例创建密钥对 连接到 EC2 实例管理 EC2 实例了解定价和计费结论 &#x1f388;个人主页&#xff1a;程序…

一站式开源持续测试平台 MerterSphere 之测试跟踪操作详解

一、MeterSphere平台介绍 MeterSphere是一站式的开源持续测试平台&#xff0c;遵循 GPL v3 开源许可协议&#xff0c;涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&#xff0c;全面兼容JMeter、Selenium 等主流开源标准&#xff0c;有效助力开发和测试团队充分利用云弹性…

1-5 AUTOSAR数据交换文件ARXML

目录 一、Arxml文件 二、各类ARXML文件 一、Arxml文件 arxml文件是AUTOSAR&#xff08;Automotive Open System Architecture&#xff09;标准定义的XML文件&#xff0c;用于描述汽车电子系统中的软件组件、通信接口和参数配置等信息。 arxml文件的主要作用是在AUTOSAR架构下…

Java 使用 EMQX 实现物联网 MQTT 通信

一、介绍 1、MQTT MQTT(Message Queuing Telemetry Transport, 消息队列遥测传输协议)&#xff0c;是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议&#xff0c;该协议构建于TCP/IP协议上&#xff0c;由IBM在1999年发布。MQTT最大优点在于&#xff…