理解 js 的数据类型,内存机制,变量引用,垃圾回收,内存泄漏
js 三种数据结构 栈:栈是一种后进先出的数据结构 队列:队列是一种先进先出的数据结构 堆:堆是一种树状结构,类似于书架,只需要知道书的名字就可以直接取出书,也类似于 JSON,每一个 key 都对应一个 value 数据类型 基本数据类型:Undefined,Null,Boolean,Number,String 和 Symbol 引用数据类型:Object,Array,Function 变量的存…
js 三种数据结构 栈:栈是一种后进先出的数据结构 队列:队列是一种先进先出的数据结构 堆:堆是一种树状结构,类似于书架,只需要知道书的名字就可以直接取出书,也类似于 JSON,每一个 key 都对应一个 value 数据类型 基本数据类型:Undefined,Null,Boolean,Number,String 和 Symbol 引用数据类型:Object,Array,Function 变量的存…
for...in for...of Object.keys() Object.getOwnPropertyNames() Reflect.ownKeys() Object.getOwnPropertyDescriptors() for...in 遍历可枚举的自由属性或继承的属性,不包括 Symbol 属性 for...of 只能遍历可枚举的自由属性,不能遍历 Symbol 和继承属性 Object…
常见的数组遍历方法 普通 for 语句 Array.prototype.forEach Array.prototype.map Array.prototype.filter Array.prototype.reduce Array.prototype.some Array.prototype.every Array.prototype.indexOf Array.prototype.lastInd…
Set Set 是一个构造函数,类似于数组 Set 的成员的值都是唯一的 Set 不会发生类型转换 Set 结构没有键名,只有键值 Set 的操作 去除数组重复成员 去除字符串重复字符 Set 无法去重两个空对象 Set 的属性与方法 Set 的遍历 WeakSet WeakSet 类似 Set,也是不重复的集合,但是 WeakSet 的成员智能是对象, WeakSet 里面的引用,都不计入垃圾回…
Promise 只解决了回调场景中的状态处理问题,没有解决回调嵌套问题,也没有解决回调嵌套的可读性问题 async/await 是一个语法糖,本质还是一个 Promise,来解决回调嵌套问题 普通回调嵌套 Promise 回调嵌套 async/await 解决回调嵌套 async 声明回调环境函数 await 是运行等待回调结果中 如何捕获 async/await 的异常 try/catch to…
messageBox.vue index.js 在 main.js 中注册 如何使用
Promise 的实例状态变成 Resloved 或者 Rejected,就会触发 then 方法绑定的回调函数 提前解释一些方法或者钩子的含义 apply 、 call 、bind 三者的区别 apply 、 call 、bind 三者都是用来改变函数的 this 对象的指向的; apply 、 call 、bind 三者第一个参数都是 this 要指向的对象,也就是想指定的上下文; call …
Promise 是什么 Promise 是异步的一种解决方案 Promise 提供了三种状态:Pending(进行中),Fulfilled(执行态),Rejected(拒绝态) 一旦 Promise 状态被 resolve 或者 reject,就不能再更改状态 Promise 避免了函数的回调,解决了回调场景中的状态处理问题 Promise 没有避免回调嵌套问题,一旦创建一个 Promise 就会…
Reflect 是什么 Reflect 将 Object 明显属于语言内部的方法放在 Reflect 对象上,比如 Object.defineProperty,可以用 Reflect.defineProperty Reflect 对返回值做了处理,Object.defineProperty 遇到无法定义的属性时,会抛出异常,而 Reflect.defineProperty 会返回 false 让 …
尝鲜 下面两段代码的执行结果 运行机制 js 执行是单线程的,是基于事件循环的,事件循环分为下面几个步骤 所有同步任务都在主线程上执行,形成一个执行栈 主线程之外,还存在一个任务队列,只要异步任务有了运行结果,就在任务队列中放置一个事件 一旦执行栈中所有的同步任务执行完毕,系统就会读取任务队列,看看有哪些事件,那么对应的异步任务结束等待状态,进入执行栈,开始执行 主线程不断重复第三步 主线程的执行…
Proxy 是 ES6 出的语法,字面理解是“拦截”,提供了一种机制,对目标对象进行拦截,提供了 13 种拦截方式,对外界的访问进行过滤与修改 尝鲜 案例 1 对设置拦截行为的对象 obj,去读写它的属性 案例 2 Proxy 如何使用 案例 3 目标对象是一个空对象,拦截函数是返回 35,所以对任何属性的访问都是 35 案例 4 如果 handler 没有设置任何拦截,等同于目标对象 案例 5 …
Object.defineProperty 是 ES5 出的语法,可以直接在一个对象上定义一个新属性,或者修改一个现有属性,并返回这个对象 如何使用 描述符 案例
webpack 的运行流程 npm run dev (webpack-dev-server --inline --progress --config build/webpack.dev.conf.js) 在 配置了一些参数 调用 npm run build(node build/build.js) 引入了配置文件,如 npm run dev 流程中的配置文件 调用 webpack.prod.con…
nodejs 如何使用 ES6 的 import 等语法 package.json start.js server.js
vuejs 源码学习第二天 这里用到的 vue 版本是 vue 目录 编译相关,把模版解析成抽象语法树 核心代码核心代码:1、内置组件,2、全局 API ,3、vue 实例化 ,4、观察者 5、虚拟 DOM 6、工具函数 不同平台的支持分别打包成运行在 weex 和 web 上的 vue.js 服务端渲染服务端渲染的代码 .vue 文件解析把.vue 文件解析成一个 javascript 对象 共…
已显示 16 / 36 篇文章
也可以浏览:全部文章档
确认操作
请再次确认填写 Client Key
首次发布动态需要密钥,将保存在本机公开内容助手
有疑问?点我搜公开内容
确认评论邮箱
邀请制评论