Vue.js 本质就是包含各种逻辑的function,初始化Vue的过程就是实例化的过程。
var vm = new Vue({})
console.log(Vue) 之后控制台输出的是 ƒ hn(e){this._init(e)},可以看出,vue对象的本质就是一个function。
Vm是我创建的一个实例,我对它进行了测试
console.log(typeof Vue)
console.log(typeof new Vue())
在控制台得到的结果分别为:function 和object,结果显示,使用new来创建的Vue实例就是个对象,所以一切对Object的操作行为都是针对Vue实例对象的。
我看了一下源码,发现出现了很多的object,都不太理解,查阅了网上的教程,总结了几点跟object有关的内容:
Object.create使用指定的原型对象及其属性去创建一个新的对象。
object.defineProperty直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。(445行)
object.keys返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in 循环还会枚举其原型链上的属性)。
object.prototype Object的原型对象。