mvvm与mvc、数据代理

111 阅读1分钟

mvvm

image.png

image.png

image.png

mvc

image.png

image.png

数据代理

Object.defineProperty()的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性

Object.defineProperty(obj, prop, desc)

  • obj 需要定义属性的当前对象

  • prop 当前需要定义的属性名

  • desc 属性描述符

    • configurable 描述属性是否配置,以及可否删除

    • enumerable 描述属性是否会出现在for in 或者 Object.keys()的遍历中

  • Writable 属性是否可以被修改

bind、call、apply的区别

三者都是用于改变函数体内this的指向,但是bind与apply和call的最大的区别是:bind不会立即调用,而是返回一个新函数,称为绑定函数,其内的this指向为创建它时传入bind的第一个参数,而传入bind的第二个及以后的参数作为原函数的参数来调用原函数。