零碎改动(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结尾
相关推荐
fruge36 分钟前
Vue Pinia 状态管理实战指南
前端·vue.js·ubuntu
sean1 小时前
开发一个自己的 claude code
前端·后端·ai编程
用户21411832636021 小时前
dify案例分享-用 Dify 一键生成教学动画 HTML!AI 助力,3 分钟搞定专业级课件
前端
chxii1 小时前
ISO 8601日期时间标准及其在JavaScript、SQLite与MySQL中的应用解析
开发语言·javascript·数据库
没逛够2 小时前
Vue 自适应高度表格
javascript·vue.js·elementui
太过平凡的小蚂蚁3 小时前
Kotlin 协程中常见的异步返回与控制方式(速览)
开发语言·前端·kotlin
咖啡の猫4 小时前
Vue初始化脚手架
前端·javascript·vue.js
晨枫阳4 小时前
uniapp兼容问题处理总结
前端·vue.js·uni-app
liusheng5 小时前
腾讯地图 SDK 接入到 uniapp 的多端解决方案
前端·uni-app
拉不动的猪5 小时前
如何处理管理系统中(Vue PC + uni-app 移动端):业务逻辑复用基本方案
前端·javascript·架构