字符串1.概述 1.1定义字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。1.2转义反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。需要用反斜杠转义的特殊字符,主要有下面这些。
\0 :null(\u0000)
\b :后退键(\u0008)
\f :换页符(\u000C)
\n :换行符(\u000A)
\r&nbs
读阮一峰《ECMAScript 6 入门》小结,http://es6.ruanyifeng.com/1. ES6简介Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码 在线转换:https://babeljs.io/repl/2. let和const命令let在块级作用域内有效,var有变量提升(变量可以在声明之前使用,值为undefined),声明的变量有内
转载
2024-04-28 14:57:51
54阅读
一、相关背景介绍我们现在大多数人用的语法javascript 其实版本是ecmscript5,也是就es5。这个版本己经很多年了,且完美被各大浏览器所支持。所以很多学js的朋友可以一直分不清楚es5和javscript的关系。javascript是一门编程语言,那么它就会有版本,es5还是es6 就就是它的版本号。最新版es7己经在紧锣密布的进行中,它最新的语法会让我们写代码更新的行云流水。想了解
转载
2024-02-26 12:49:42
114阅读
数值扩展二进制和八进制表示法ES6 分别用前缀0b(或0B)和0o(或0O)表示二进制和八进制数值。Number对象上新增方法Number.isFinite():检查一个数值是否为有限的(finite),即不是Infinity。Number.isNaN():用来检查一个值是否为NaN。
与传统的全局方法isFinite()和isNaN()的区别在于,传统方法先调用Number()将非数值
异步在给我们解决阻塞的问题时也带来一些别的问题 开发中调用接口经常是异步的,然后不小心就会犯的错误就是接口的数据还没有返回,我们就当作它已经返回了,然后继续处理,当然就会发生错误。 为了避免数据还没返回就继续执行,我们一般会在回掉函数里面继续些,但当层次多的时候不免会越来越乱,可读性别差 ES6引入promise函数处理异步问题,比之前好多了,但也并没有达到像写同步一样,ES7的两个新东西解
转载
2024-06-28 11:04:27
47阅读
1. let取代var 优先使用const 2. 静态字符串使用单引号或反引号。动态字符串使用反引号。 3.使用数组成员对变量赋值时,优先使用解构赋值 const arr=[1,2,3,4] const [first,second]=arr; 函数的参数如果是对象的成员,优先使用解构赋值 function getFullName(obj){
ES7-11写在前面ES7Array.prototype.includes幂运算**ES8async和awaitasync函数await表达式Object.values,keys和Object.entriesObject.getOwnPropertyDescriptorsES9扩展运算符与rest参数正则扩展:命名捕获分组正则扩展: 反向断言正则扩展:dotAll模式ES10Object.fro
转载
2024-08-29 21:44:48
28阅读
一、let 变量声明以及声明特性声明变量:let a=1;let b,c=2;let d=[]; 声明特性:1.变量不能重复声明let a=1;let a=3;这样是错误的。报错:Uncaught SyntaxError: Identifier ‘a’ has already been declared2.块级作用域{
let girl="周周周"
}
console.log(girl)
前言ES6的出现是为了提高 javascript 的严谨性,安全性等方面,它代表着js的发展方向。网站开发的人员,无论前后端都必须熟稔 ES6 语法规范。带着问题看书1. ES6 新增的关键词 let 和 var 区别?a. 使用let声明的变量,只在它所在的代码块内有效。即如果使用let,声明的变量仅在块级作用域内有效。
b. var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为
转载
2024-03-12 17:47:24
78阅读
1. let和const1.let 和 const不存在变量提升问题; 2.let 负责定义变量、const 负责定义常量; 3.二者在同一作用域内(即{}内) 不允许重复声明同一变量名; 4.const 声明后需立即赋值,不然会报错; 5.使用lett定义变量时,该变量不允许使用,此区间称为 暂存性死区// 暂存性死区
if (true) {
// TDZ开始
tmp = 'abc';
转载
2024-03-26 12:27:49
131阅读
Promise的含义 promise是异步编程的一种解决方法,比传统的回调函数和事件更合理更强大。他由社区最早提出和实现,ES6将其写进语言标准,统一了用法,原生提供了promise对象。所谓promise,简单说是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,从语法上说,promise是一个对象,从它可以获取异步操作的消息,promise提供了统一的API,各种异步操
入门读书笔记(十四):async 函数1. 含义ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一句话,它就是 Generator 函数的语法糖。async函数就是将 Generator 函数的星号(*)替换成async,将yield替换成await,仅此而已。async函数对 Generator 函数的改进,体现在以下四点。内置执行器async函数的
let 和 const 命令1.let用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。 2、var 与let声明不同 在使用var时,变量可以先使用后声明,输出值为undefined。 在使用let,变量必须先声明后使用 3、不允许重复声明 let不允许在相同作用域内,重复声明同一个变量。 因此,不能在函数
转载
2024-07-29 16:36:46
39阅读
全局作用域 函数作用域 块级作用域一:块级作用域1.外层作用域无法读取内层作用域的变量2.let const声明的变量只能先声明,后使用。 let const都是块级作用域! const声明的变量必须赋初始值且不可变,像final! 不可变是指引用不可变,也就是内存中的那片地址。 Object.freeze(要冻结对象) 引用指向的对象不可变哦! const声明引用不可
转载
2023-07-29 23:24:30
367阅读
什么是 ReST阮一峰说的比较清楚,具体见他的博客文章。二、名称
ReST这个词,是[Roy Thomas Fielding](http://en.wikipedia.org/wiki/Roy_Fielding)在他2000年的[博士论文](http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm)中提出的。
Fielding是一个非常
转载
2024-04-01 17:03:19
80阅读
根据阮一峰ES6编写 Promise是一个对象,里面包含着一个异步操作(会在本轮同步操作都结束后才执行)。 有三种状态:pending(进行中),fulfilled(已成功),rejected(已失败),只有异步操作的结果可以决定状态 一旦创建,立即执行,无法中途取消 如果事件不断反复发生,Stream模式更好特点: 1、对象状态不受外界影响,也不影响外部:只有异步操作的结果可以决定状态,若内部有
转载
2023-09-21 15:02:58
418阅读
Promise一、含义1. 概念2. 特点3. 基本用法4. 为什么要用 Promise1. 指定回调函数的方式更加灵活2. 支持链式调用,可以解决回调地狱的问题用Promise实现Ajax二、Promise的使用1. Promise 构造函数:Promise(executor) {}2. Promise.prototype.then 方法: `(onResolved, onRejected)
转载
2023-08-10 19:54:14
298阅读
Class的基本用法1. 类的由来2. constructor() 方法3. 类的实例4. 取值函数(getter)和存值函数(setter)5. 静态方法6. 私有方法和私有属性7. 类的注意点1. 严格模式2. 不存在变量提升3. Generator 方法4. this指向 1. 类的由来JavaScript 语言中,生成实例对象的传统方法是通过构造函数。function Point(x,
转载
2024-04-18 10:18:28
309阅读
阮一峰ES6入门读书笔记(十五):ClassClass 基本语法ES6 的 class 可以看作是一个语法糖,它的绝大部分功能,ES5 都可以做到。可以通过下面两段写法来比较两者的不同//ES5写法
function Point(x, y) {
this.x = x;
this.y = y;
}
Point.prototype.toString = function () {
ret
转载
2024-05-15 18:51:43
85阅读
历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。在 ES6 之前,社区制定了一些模块加载方案,最主要的
转载
2024-04-09 17:24:52
48阅读