手动实现简易Vue框架——Object.defineProperty

所谓“千里之行,始于足下;骐骥一跃,不能十步;驽马十驾,功在不舍”,今天我准备从最简单的步骤开始手写一个简易版的Vue

所用设计模式MVVM。

首先来来熟悉下  Object.defineProperty  这个api的使用,详细请自行MDN查阅

    var obj = {}
    Object.defineProperty(obj, 'test', {
      configurable: true, // 可配置性
      writable: true, // 属性可修改
      enumerable: true, // 属性可枚举
      value: 'yanglong'
    })

    // delete obj.test

    // obj.test = 1

    console.log(obj)
    for(let key in obj){
      console.log(key)
    }
var obj = {
    }
    let val = null
    Object.defineProperty(obj, 'test', {
      configurable: true, // 可配置性
      enumerable: true, // 属性可枚举
      get() {
        console.log('get')
        return val
      },
      set(newVal) {
        console.log('set')
        val = newVal
      }
    })

    obj.test = 'Mis.Yang'
    console.log(obj) // {test: 'Mis.Yang'}

 

摘自: Object.defineProperty

你可能感兴趣的:(JavaScript,设计模式)