@@ -212,7 +212,7 @@ initProvide(vm) // resolve provide after data/props
callHook(vm, 'created')
```
-而这些方法才是真正起作用的一些初始化方法,大家可以找到这些方法看一看,在这些初始化方法中,无一例外的都使用到了实例的 `$options` 属性,即 `vm.$options`。所以 `$options` 这个属性的的确确是用于 `Vue` 实例初始化的,只不过在初始化之前,我们需要一些手段来产生 `$options` 属性,而这就是 `mergeOptions` 函数的作用,接下来我们就看看 `mergeOptions` 是都做了些什么,又有什么意义。
+而这些方法才是真正起作用的一些初始化方法,大家可以找到这些方法看一看,在这些初始化方法中,无一例外的都使用到了实例的 `$options` 属性,即 `vm.$options`。所以 `$options` 这个属性的的确确是用于 `Vue` 实例初始化的,只不过在初始化之前,我们需要一些手段来产生 `$options` 属性,而这就是 `mergeOptions` 函数的作用,接下来我们就来看看 `mergeOptions` 都做了些什么,又有什么意义。
@@ -346,7 +346,7 @@ $watch('a', () => {
})
-此时当你尝试设置 `data.a = 3` 时,在控制台将分别打印字符串 `'第一个依赖'` 和 `'第二个依赖'`。我们仅仅用十几行代码就实现了这样一个最进本的功能,但其实现在的实现存在很多缺陷,比如目前的代码仅仅能够实现对字段 `a` 的观测,如果添加一个字段 `b` 呢?所以最起码我们应该使用一个循环将定义访问器属性的代码包裹起来,如下:
+此时当你尝试设置 `data.a = 3` 时,在控制台将分别打印字符串 `'第一个依赖'` 和 `'第二个依赖'`。我们仅仅用十几行代码就实现了这样一个最基本的功能,但其实现在的实现存在很多缺陷,比如目前的代码仅仅能够实现对字段 `a` 的观测,如果添加一个字段 `b` 呢?所以最起码我们应该使用一个循环将定义访问器属性的代码包裹起来,如下:
```js
const data = {