零碎改动(ES6+)

这里写自定义目录标题

let 和 const

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

js 复制代码
let a = 1; // 使用 let 定义变量
a = 2; // 变量的值是可修改的

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

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

js 复制代码
let age = 17
....
很多行代码之后
age = 'nick'
age的意思都改了,很不容易发现,所以开发尽量用const
  • 全局定义的变量不再作为属性添加到全局对象中
js 复制代码
以前用var定义一个变量a,window.a也会有
现在用let 定义一个变量,window.b就不存在了
  • 在变量定义之前使用它会报错
js 复制代码
//原先这么写不会报错,很奇葩。
console.log(age)
var age = 1
js 复制代码
//现在的写法,要先初始化 才行
console.log(age)
let age = 17
  • 不可重复定义同名变量
js 复制代码
// var a = 1
// var a = 3
// console.log(a)
let a = 1;
// let a = 3; //错误
a = 3; //可以重新赋值,但不能重新定义了。
a已经存在了你不能再重新定义了
  • 使用const定义变量时,必须初始化(定义好后还要赋值)
js 复制代码
const a = 3;
  • 变量具有块级作用域,在代码块之外不可使用

    js
    if(true){
    let a = 2;
    }
    console.log(a)
    a只能在代码块里使用

js 复制代码
var 提升了,用的最后都是10
for(var a = 1;a<10 ;a++){
    setTimeout(()=>{
        console.log(a)
    },1000);
}
js 复制代码
for(let i = 0;i < 10; i++){
    setTimeout(()=>{
        console.log(i);
    },1000)
}

幂运算

js 复制代码
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结尾
相关推荐
旧梦吟18 分钟前
脚本网站 开源项目
前端·web安全·网络安全·css3·html5
我有一棵树21 分钟前
解决 highlight.js 不支持语言的方法
开发语言·javascript·ecmascript
北极糊的狐27 分钟前
按钮绑定事件达成跳转效果并将树结构id带入子页面形成参数完成查询功能并将返回的数据渲染到页面上2022.5.29
前端·javascript·vue.js
幽络源小助理28 分钟前
幽络源二次元分享地址发布页源码(HTML) – 源码网免费分享
前端·html
全栈前端老曹31 分钟前
【ReactNative】页面跳转与参数传递 - navigate、push 方法详解
前端·javascript·react native·react.js·页面跳转·移动端开发·页面导航
用泥种荷花1 小时前
【前端学习AI】Python环境搭建
前端
老华带你飞1 小时前
考试管理系统|基于java+ vue考试管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
_Kayo_1 小时前
React上绑定全局方法
前端·javascript·react.js
愈努力俞幸运2 小时前
chrome 扩展(插件)开发入门教程
前端·chrome
练习前端两年半2 小时前
【Vue3 高级技巧】函数重载+Watch:打造类型安全的通用事件监听 Hook
前端·javascript·vue.js