谈谈对var vm = new Vue({})的理解

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的原型对象。

猜你喜欢

转载自blog.csdn.net/markjunhao/article/details/81137619
vm