08 2019 档案
摘要:Event Loop 为什么JavaScript是单线程 其最初的用途来决定的:与浏览器交互。 试想一下 如果javascript是多线程的,那么当两个线程同时对dom进行一项操作,例如一个向其添加事件,而另一个删除了这个dom,此时该如何处理呢?因此,为了保证不会 发生类似于这个例子中的情景,ja
阅读全文
摘要:new做了些什么? 要创建 People 的新实例,必须使用 new 操作符。以这种方式调用构造函数实际上会经历以下 4 个步骤: 1. 创建一个新对象; 2. 将this 就指向了这个新对象;(同时还继承了该函数的原型) 将新对象 __ proto __ 指向 构造函数 prototype; 3.
阅读全文
摘要:什么是对象 若干属性的集合 什么是原型? 原型是一个对象,其他对象可以通过它实现继承。 哪些对象有原型? 所有的对象在默认情况下都有一个原型,因为原型本身也是对象,所以每个原型自身又有一个原型(只有一种例外,默认的对象原型在原型链的顶端) 任何一个对象都可以成为原型 1. prototype : p
阅读全文
摘要:比如,现在有一个"动物"对象的构造函数。 还有一个"猫"对象的构造函数。 怎样才能使"猫"继承"动物"呢? 一:原型链继承 如果 "猫"的prototype对象,指向一个Animal的实例 ,那么所有"猫"的实例,就能继承Animal了。 优点: 1. 父类原型中(Cat.prototype)可以动
阅读全文
摘要:let 和 const 命令 1. let命令 基础使用 let声明的变量只在它所在的代码块有效。 ES6 声明变量的六种方法: ,`function let const import class` 本文来源个人对 "阮一峰es6" 总结,以供今后查阅。
阅读全文
摘要:Babel 转码器 1. .babelrc 存放在项目的根目录下 1. 基本格式 2. presets字段设定转码规则 2. 转码 1. 命令行 2. 将babel cli安装在项目之中 3. babel node babel cli工具自带一个babel node命令,提供一个支持 ES6 的 R
阅读全文
摘要:Promise 高阶函数: 一个函数的参数是一个函数 (回调) 一个函数返回一个函数 (拆分函数) AOP 面向切片 装饰 把核心抽离出来 在核心基础上增加功能 1. 箭头函数中没有this指向 没有arguments 都会向上级作用域查找 柯里化 把一个大函数拆分成很多具体功能的函数 javasc
阅读全文