带有对象的javascript对象构造函数

时间:2018-07-20 00:13:44

标签: javascript

我知道这是对象构造函数。对于初学者来说很容易理解。

var myFather = new Person("John", "Doe", 50, "blue");


那呢? 新关键字中有对象。

var app = new Vue({
  el: '#app',
  data: {
  message: 'Hello Vue!'
 }
})


这个有.Store。如何运作?

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  }
})

请告诉我是否有我可以阅读的网站。谢谢。

1 个答案:

答案 0 :(得分:0)

他们只是将对象文字传递给构造函数。

与执行此操作相同:

let obj = {
   el: '#app',
   data: {
     message: 'Hello Vue!'
   }
}

let app = new Vue(obj);

对于您的Vuex.Store-在Vuex构造函数的原型上附加了一个Store构造函数。换句话说,已添加一个静态方法-它是一个构造函数。

Vuex理论构造器:

旧式语法:

 function Vuex(...){
     ....
 }

 Vuex.prototype.Store = function(object){
     this.object = object; // could be this but doesnt have to be
     this.something = object.x;
     this.somethingElse = object.y;
     ...
 }

ES6类语法:

class Vuex {
  constructor(){...};
  ...
}

Vuex.Store = class {
  constructor(object){
      this.object = object; // could be this but doesnt have to be
      this.something = object.x;
      this.somethingElse = object.y;
      // deal with object ...

  }

}

这仅仅是我的有限理解...