当前浏览器过旧,页面样式无法完整呈现。请使用 Chrome、Edge、Firefox 或 Safari 访问。

理解 js 的数据类型,内存机制,变量引用,垃圾回收,内存泄漏

js 三种数据结构 栈:栈是一种后进先出的数据结构 队列:队列是一种先进先出的数据结构 堆:堆是一种树状结构,类似于书架,只需要知道书的名字就可以直接取出书,也类似于 JSON,每一个 key 都对应一个 value 数据类型 基本数据类型:Undefined,Null,Boolean,Number,String 和 Symbol 引用数据类型:Object,Array,Function 变量的存…

JavaScript4/23/20195 分钟阅读#JavaScript56

ES5 和 ES6 对象遍历方法

for...in for...of Object.keys() Object.getOwnPropertyNames() Reflect.ownKeys() Object.getOwnPropertyDescriptors() for...in 遍历可枚举的自由属性或继承的属性,不包括 Symbol 属性 for...of 只能遍历可枚举的自由属性,不能遍历 Symbol 和继承属性 Object…

JavaScript4/22/20192 分钟阅读#JavaScript62

ES5 和 ES6 数组遍历方法的使用与实现

常见的数组遍历方法 普通 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…

JavaScript4/22/20197 分钟阅读#JavaScript64

Set、WeakSet、Map、WeakMap

Set Set 是一个构造函数,类似于数组 Set 的成员的值都是唯一的 Set 不会发生类型转换 Set 结构没有键名,只有键值 Set 的操作 去除数组重复成员 去除字符串重复字符 Set 无法去重两个空对象 Set 的属性与方法 Set 的遍历 WeakSet WeakSet 类似 Set,也是不重复的集合,但是 WeakSet 的成员智能是对象, WeakSet 里面的引用,都不计入垃圾回…

JavaScript4/21/20194 分钟阅读#JavaScript57

async/await

Promise 只解决了回调场景中的状态处理问题,没有解决回调嵌套问题,也没有解决回调嵌套的可读性问题 async/await 是一个语法糖,本质还是一个 Promise,来解决回调嵌套问题 普通回调嵌套 Promise 回调嵌套 async/await 解决回调嵌套 async 声明回调环境函数 await 是运行等待回调结果中 如何捕获 async/await 的异常 try/catch to…

JavaScript4/21/20192 分钟阅读#JavaScript40

Promise 实现红绿灯

Promise 的实例状态变成 Resloved 或者 Rejected,就会触发 then 方法绑定的回调函数 提前解释一些方法或者钩子的含义 apply 、 call 、bind 三者的区别 apply 、 call 、bind 三者都是用来改变函数的 this 对象的指向的; apply 、 call 、bind 三者第一个参数都是 this 要指向的对象,也就是想指定的上下文; call …

JavaScript4/21/20194 分钟阅读#JavaScript43

Promise 的基本用法

Promise 是什么 Promise 是异步的一种解决方案 Promise 提供了三种状态:Pending(进行中),Fulfilled(执行态),Rejected(拒绝态) 一旦 Promise 状态被 resolve 或者 reject,就不能再更改状态 Promise 避免了函数的回调,解决了回调场景中的状态处理问题 Promise 没有避免回调嵌套问题,一旦创建一个 Promise 就会…

JavaScript4/21/20195 分钟阅读#JavaScript40

Reflect

Reflect 是什么 Reflect 将 Object 明显属于语言内部的方法放在 Reflect 对象上,比如 Object.defineProperty,可以用 Reflect.defineProperty Reflect 对返回值做了处理,Object.defineProperty 遇到无法定义的属性时,会抛出异常,而 Reflect.defineProperty 会返回 false 让 …

JavaScript4/20/20197 分钟阅读#JavaScript#源码41

理解 js 引擎执行过程:运行机制,语法分析,创建函数调用栈,创建上下文,创建作用域链

尝鲜 下面两段代码的执行结果 运行机制 js 执行是单线程的,是基于事件循环的,事件循环分为下面几个步骤 所有同步任务都在主线程上执行,形成一个执行栈 主线程之外,还存在一个任务队列,只要异步任务有了运行结果,就在任务队列中放置一个事件 一旦执行栈中所有的同步任务执行完毕,系统就会读取任务队列,看看有哪些事件,那么对应的异步任务结束等待状态,进入执行栈,开始执行 主线程不断重复第三步 主线程的执行…

JavaScript4/15/20195 分钟阅读#JavaScript30

Proxy

Proxy 是 ES6 出的语法,字面理解是“拦截”,提供了一种机制,对目标对象进行拦截,提供了 13 种拦截方式,对外界的访问进行过滤与修改 尝鲜 案例 1 对设置拦截行为的对象 obj,去读写它的属性 案例 2 Proxy 如何使用 案例 3 目标对象是一个空对象,拦截函数是返回 35,所以对任何属性的访问都是 35 案例 4 如果 handler 没有设置任何拦截,等同于目标对象 案例 5 …

JavaScript4/15/201915 分钟阅读#JavaScript#源码42

Object.defineProperty

Object.defineProperty 是 ES5 出的语法,可以直接在一个对象上定义一个新属性,或者修改一个现有属性,并返回这个对象 如何使用 描述符 案例

JavaScript4/15/20192 分钟阅读#JavaScript#源码40

vue-cli2 的配置文件详细介绍

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…

Vue3/22/201923 分钟阅读#JavaScript#CSS#Vue65

你想要的 vue 源码分析 · 02

vuejs 源码学习第二天 这里用到的 vue 版本是 vue 目录 编译相关,把模版解析成抽象语法树 核心代码核心代码:1、内置组件,2、全局 API ,3、vue 实例化 ,4、观察者 5、虚拟 DOM 6、工具函数 不同平台的支持分别打包成运行在 weex 和 web 上的 vue.js 服务端渲染服务端渲染的代码 .vue 文件解析把.vue 文件解析成一个 javascript 对象 共…

Vue 源码3/14/20195 分钟阅读#JavaScript#源码#Vue40

已显示 16 / 36 篇文章

也可以浏览:全部文章档