JS构造函数和普通函数的区别
-
调用方式不一样。
a. 普通函数的调用方式:直接调用 person()
b.构造函数的调用方式:需要使用new关键字来调用 new Person(); -
构造函数
内部用this 来构造属性和方法。
执行流程如下:
立刻在堆内存中创建一个新的对象
将新建的对象设置为函数中的this
逐个执行函数中的代码
将新建的对象作为返回值 -
返回值
普通函数:因为没有返回值,所以为undefined
构造函数:构造函数会马上创建一个新对象,并将该新对象作为返回值返回
JS原型对象与实例对象
https://blog.csdn.net/weixin_44134588/article/details/108099392
- 原型对象 prototype
作用:共享方法,共享构造函数中的方法,
一般实例对象的公共属性定义到构造函数中,
公共方法则存放到原型对象prototype中: - 对象原型 proto
对象身上,系统自己添加了一个_proto_指向构造函数的原型对象
构造函数 通过new创建实例对象,实例对象通过_proto_访问原型对象里面的方法
构造函数通过prototype添加原型对象方法,即原型对象用来存储公共方法
原型对象中constructor属性指向了原构造函数
Vue混合、插件、自定义指令
-
混合(mixins)
混入就是用来对vue组件中的公共部分,包括数据对象、钩子函数、方法等所有选项,进行提取封装,以达到代码的复用。混合对象的 钩子将在组件自身钩子 之前 调用 -
自定义指令
在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。 -
插件
Vue.js 的插件应当有一个公开方法 install 。这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象:
ES6
-
生成器 迭代器
迭代器(Iterator) 是一种接口,只要部署 Iterator利用for of 就可以完成遍历对象 。如:for (let v of arr)
生成器是ES6提供的一种异步编程解决方案语法行为与传统函数不同,声明时加上*号
生成器是一个特殊函数 针对异步编程
生成器调用要结合迭代器 -
promise
Promise 对象用于表示一个异步操作的最终完成 (或失败)及其结果值。
一个 Promise 必然处于以下几种状态之一:
待定(pending): 初始状态,既没有被兑现,也没有被拒绝。
已兑现(fulfilled): 意味着操作成功完成。
已拒绝(rejected): 意味着操作失败。