理解Object.defineProperty() Object.defineProperty() 方法直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。 基本语法:Object.defineProperty(obj, prop, descriptor)@param ob ...
分类:
其他好文 时间:
2017-09-02 01:06:21
阅读次数:
190
深入响应式原理 模型层(model)只是普通 JavaScript 对象,修改它则更新视图(view)。 如何追踪变化 把一个普通 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 ...
分类:
其他好文 时间:
2017-08-26 22:47:28
阅读次数:
274
最早认识这个函数,源于对vue双向绑定的探索,vue通过这个函数实现属性挟持并结合发布者-订阅者模式实现双向绑定 先看一个实例: 三个参数,分别是目标对象、属性名称、参数对象 value:属性值 writable:属性是否可改写,默认false enumerable:是否可在for..in循环中被列 ...
分类:
其他好文 时间:
2017-08-24 00:08:57
阅读次数:
145
Babel 转译后的代码要实现源代码同样的功能需要借助一些帮助函数,例如,{ [name]: 'JavaScript' } 转译后的代码如下所示: 类似上面的帮助函数 _defineProperty 可能会重复出现在一些模块里,导致编译后的代码体积变大。Babel 为了解决这个问题,提供了单独的包 ...
分类:
其他好文 时间:
2017-08-10 13:36:03
阅读次数:
247
我猜想这个就是源码吧,有index.js还有其他js文件的。 node-modules模块 socket.js 1.模块依赖 7.Object.defineProperty定义一个属性并返回对象。 ...
分类:
其他好文 时间:
2017-08-09 20:03:23
阅读次数:
150
1.数据绑定 1)vue 把一个普通对象传给Vued的data选项,Vue会遍历此对象的所有属性,并使用Object.defineProperty将这些属性全部转为getter/setter。Object.defineProperty为ES5的新属性,无法模仿,所以vue不支持IE8以及更低版本浏览 ...
分类:
其他好文 时间:
2017-08-06 20:41:57
阅读次数:
171
JavaScript 的内部数据结构,用来描述一个对象的属性的行为,操控它的行为。这被称为“属性描述对象”(attributes object)。 Object.defineProperty() 方法接受三个参数,第一个是属性所在的对象,第二个是属性名(它应该是一个字符串),第三个是属性的描述对象。 ...
分类:
其他好文 时间:
2017-07-25 19:48:13
阅读次数:
175
EcmaScript有两种属性 数据属性 和 访问器属性 数据属性有4个特性 Configurable Enumerable Writable Value 前三个值的默认值都为false 举例 Object.defineProperty( person, "name", { writable:fal ...
分类:
Web程序 时间:
2017-07-25 19:46:43
阅读次数:
139