1、赋值 修改新对象原来的对象会发生改变(改变存储空间,联动改变) let person = { name: 'Tom', age: 12, hobby: ['音乐', '动漫'] } let copyObj = person; copyObj.name = '小明';…
1、前言 module模块机制是es6新引入的,它解决了作用域的问题,使代码更加规范和结构化。 下面简单的使用一下。 2、基本使用 2.1 模块和脚本的区别 模块代码运行在严格模式下,并且没有任何办法跳出严格模式。 在模块的顶级作用域创建的变量,不会影响到全局作用域,它们只会在模块顶级作用域的内部存在。 模块顶级作用域的this值为undefine…
1、什么是promise 在JavaScript中,我们经常会用到回调函数,而回调函数的使用让我们没法使用return,throw等关键字。JS引用promise正好解决了这个问题。 promise单词意思是承诺,代表未来的某个事情或者是行为。promise是一个容器,包含了异步操作。因此我们认为promise是异步操作的解决方案。所有异步操作都可…
1、前言 以前在学习react时做了个仿手机端的QQ音乐项目。当时的数据是通过proxy代理的QQ音乐数据接口,直接写在package.json里面。Proxy 对象(Proxy)是 ES6的特性,只是不太常用。 2、基本内容 2.1 含义 正如MDN上所说,Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、…
1、前言 JavaScript提供了许多的方法来获取数组或者对象中的某个元素或者属性(迭代)。从以前的for循环到之后的filter、map再到后来的for...in和for...of的迭代机制。只要具有iterator接口的都可被迭代。 2、迭代器 Iterator 2.1 含义 迭代器(iterator)为各种数据结构,提供一个统一的、简便的访…
1 基本用法 Map类型是键值对的有序列表,而键和值都可以是任意类型。可以看做Python中的字典(Dictionary)类型。 1.1 创建方法 Map本身是一个构造函数,用来生成Map实例,如: let m1 = new Map() 1.2 初始化 Map构造函数可以接收一个数组作为参数,该数组的成员可以是一组表示键值对的数组。也可以是任何具有…
1 基本用法 set类似于数组,它的成员是唯一的,当有多个相同的值,只会保留一份。 1.1 创建方法 Set本身是一个构造函数,用来生成Set实例,如: const s = new Set() let arr = [2, 3, 4, 5, 6, 2, 2] arr.forEach(x => s.add(x)); for (let i of s…
1、前言 大家都知道,在ES5的时候JavaScript的基本类型有Number、String、Boolean、undefined、object、Null共6种,在es6中,新增了Symbol类型,用于表示独一无二的值。之后又提出了bigInt类型(前面提到过),这里简要的总结Symbol的一些基本用法。 2、基本用法 2.1 用法一(直接使用) …
正则表达式 1、基础 1.1 含义: 通俗的来讲,正则表达式是一种匹配和替换的工具。如:在JS中验证手机号时,我们需要考虑用户输入的字符必须是number类型,且必须是11位的整数,且数字的前三位必须是134,155,183,188,199等等。对于这一问题,可以用if-else来实现,只不过太过于麻烦,而正则表达式就将这一问题简单化。 1.2 组…
字符串String 1、字面量 需要注意的地方: 由单引号或双引号括起来的字符序列。 单双引号可以嵌套,由最外围引号定界字符串 字符串字面量可以拆分成数行,每行必须以反斜线(\)结束,且反斜线都不计入字符串的内容。 在书写HTML的JS代码时,要注意与HTML代码混合搭配使用引号。 实例代码: let str1 = "I have a d…
Boolean 1、需要注意的地方: 取值:true false 对于值为空字符串,0,-0,NaN,Null,undefined,false的布尔对象,它都会有一个初始值false。对于其它的值如"false",[]等都会建立一个初始值是true的对象。 不能把基本类型中true或false和值为true或false的对象搞混…
1、数值 1.1 、JavaScript数值的特点 不区分整数值和浮点数值。 所有数值均用浮点数值表示。 采用IEEE-754标准定义的64位浮点数格式表示。 整数在实际操作时(如数组索引),则是基于32为整数。 1.2、 整数直接量 除十进制外,JavaScript能识别十六进制(以0x或0X为前缀)、二进制(以0b或0B为前缀)和八进制(以0o…