摘要:
1、ES6模块的设计思想是尽量静态化,使得编译时就会确定模块的依赖关系,以及输入和输出的变量。CommonJS和AMD模块都只能在运行时确定这些东西。 2、ES6模块不是对象,而是通过export显示指定输出的代码 3、严格模式 ES6的模块自动采用严格模式 4、export命令 模块功能主要由两个 阅读全文
摘要:
1、创建对象 1)工厂模式 没有解决对象识别问题 2)构造函数模式 创建Person 的实例,使用new操作符,经历的步骤: 1)创建一个新对象 2)将构造函数的作用域赋给新对象(因此this就指向了这个新对象) 3)执行构造函数中的代码(为这个新对象添加属性) 4)返回新对象 问题:每个方法都要在 阅读全文
摘要:
函数节流和函数防抖,两者都是优化高频率执行js代码的一种手段。 以下场景往往由于事件频繁被触发,因而频繁执行DOM操作、资源加载等重行为,导致UI停顿甚至浏览器崩溃。 1. window对象的resize、scroll事件 2. 拖拽时的mousemove事件 3. 射击游戏中的mousedown、 阅读全文
摘要:
1、原型 [[prototype]] js中的对象有一个特殊的[[prototype]]内置属性,其实就是对于其他对象的引用,几乎所有的对象在创建时[[prototype]]属性都会被赋予一个非空的值 使用for..in和in操作符都会查找对象的整条原型链 所有普通的[[prototype]]链最终 阅读全文