首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏IMWeb前端团队

    Object.observe简介

    本文作者:IMWeb yangchunwen 原文出处:IMWeb社区 未经同意,禁止转载 Object.observe 是一个提供数据监视的API,在chrome中已经可以使用。 语法 语法很简单: Object.observe(obj, callback) obj obj就是你要监听的数据模型(例如一个ajax接口对应的数据) callback callback就是数据模型变化后触发的回调 meta charset="utf-8"> </head> <body> <script> var obj = {}; Object.observe }); }); </script> </body> </html> 实现MVVM 当然这里不是要取代MVVM框架,只是想通过Object.observe 脏值检查也需要注册一个全局的观察者,这很可能会造成内存泄漏,而Object.observe()会避免这一点。

    95910发布于 2019-12-03
  • 来自专栏IMWeb前端团队

    Object.observe简介

    Object.observe 是一个提供数据监视的API,在chrome中已经可以使用。 语法 语法很简单: Object.observe(obj, callback) obj obj就是你要监听的数据模型(例如一个ajax接口对应的数据) callback callback就是数据模型变化后触发的回调 meta charset="utf-8"> </head> <body> <script> var obj = {}; Object.observe }); }); </script> </body> </html> 实现MVVM 当然这里不是要取代MVVM框架,只是想通过Object.observe 脏值检查也需要注册一个全局的观察者,这很可能会造成内存泄漏,而Object.observe()会避免这一点。

    1.1K70发布于 2017-12-29
  • 来自专栏腾讯IVWEB团队的专栏

    Object.observe 简介

    作者:yangchunwen Object.observe 是一个提供数据监视的API,在 chrome 中已经可以使用。 语法 语法很简单: Object.observe(obj, callback) obj obj就是你要监听的数据模型(例如一个ajax接口对应的数据) callback callback就是数据模型变化后触发的回调 doctype html> <html> <head> <meta charset="utf-8"> </head> <body> <script> var obj = {}; Object.observe change.object[change.name]); }); }); </script> </body> </html> 实现MVVM 当然这里不是要取代MVVM框架,只是想通过Object.observe 脏值检查也需要注册一个全局的观察者,这很可能会造成内存泄漏,而Object.observe()会避免这一点。

    1.3K00发布于 2017-03-13
  • 来自专栏杨龙飞前端

    proxy思考

    ."); } } }) console.log(proxyPerson.name); console.log(proxyPerson.sex); //经过实际操作,object.observe :' + change.object[change.name]); // console.log('变动类型:' + change.type); // }); // } // Object.observe

    98350发布于 2018-06-14
  • 来自专栏前端开发

    除了 Proxy,前端还有哪些实现数据响应式的路子?

    Object.observe:被标准“干掉”的原生方案,踩过坑的都懂这个算个“历史遗留问题”了——早年 ES6 提案里有个原生 API 叫 Object.observe,本来是想让浏览器直接支持监听对象变化 用法特别简单,比如: const obj = { name: 'test' };Object.observe(obj, changes => { changes.forEach(change => 自己写简单逻辑用“发布-订阅+拦截”:比如给某个组件写局部响应式,不用引入框架,就用发布-订阅搭骨架,再配合 Proxy(或 Object.defineProperty)做数据拦截,灵活又轻量; 至于脏检查和 Object.observe

    15910编辑于 2025-08-28
  • 来自专栏IMWeb前端团队

    JS中的非可变性

    在使用普通对象(可变性对象)进行开发时,当需要跟踪管理某些数据的变更,需要用到Object.observe之类的方法来监控某个对象,并指定相应的回调函数。 //判断揭开的单元格id是否存在 game.setIn(['tiles', tile, 'isRevealed'], true) : game; } 作者在后续还分析了ES7中的Object.observe 例子也是使用上面的扫雷: var tiles = [{id: 0, isRevealed: false}, {id: 1, isRevealed: true}]; Object.observe(tiles , function () { /* ... */ }); tiles[0].id = 2; 在使用原生数组存储单元格信息时,使用Object.observe()不能捕捉到tiles中某个元素的属性被修改

    1.2K20发布于 2019-12-03
  • 来自专栏IMWeb前端团队

    JS中的非可变性

    在使用普通对象(可变性对象)进行开发时,当需要跟踪管理某些数据的变更,需要用到Object.observe之类的方法来监控某个对象,并指定相应的回调函数。 //判断揭开的单元格id是否存在 game.setIn(['tiles', tile, 'isRevealed'], true) : game; } 作者在后续还分析了ES7中的Object.observe 例子也是使用上面的扫雷: var tiles = [{id: 0, isRevealed: false}, {id: 1, isRevealed: true}]; Object.observe(tiles , function () { /* ... */ }); tiles[0].id = 2; 在使用原生数组存储单元格信息时,使用Object.observe()不能捕捉到tiles中某个元素的属性被修改

    1.4K50发布于 2017-12-29
  • 来自专栏全栈程序员必看

    vue 深入响应式原理 注意事项

    变化检测 1·(Object.observe的废弃),Vue不能检测对象属性的添加或删除,因此属性必须在data对象上,但是可以使用Vue.set(Object,key,value) 来将响应属性添加到对象上

    23020编辑于 2022-08-25
  • 来自专栏终身学习者

    从 ES2021 到 ES2023 的 13 个实用的 JavaScript 新功能

    Object.observe():该提案建议添加一个新方法,提供一种观察对象变化的方式,类似于 Object.defineProperty() 允许观察特定属性变化的方式。 Object.observe() 该提案目前处于第二阶段,还没有可用的代码示例。 12.

    44410编辑于 2024-02-12
  • 来自专栏Node.js开发

    异步 JavaScript 之理解 macrotask 和 microtask

    ),setTimeout, setInterval, setImmediate, I/O, UI rendering microtasks: process.nextTick, Promises, Object.observe

    57930发布于 2019-08-06
  • 来自专栏亦枫的大佬之路

    Vue的数据响应式原理

    Vue不能检测到对象属性的添加或删除 受现代JS的限制(以及废弃 Object.observe),Vue不能检测到对象属性的添加或删除,由于Vue会在初始化实例时对属性执行 getter/setter转化过程

    1K20发布于 2020-03-19
  • 来自专栏bug收集

    【春节日更】快速理解宏任务与微任务

    微任务主要是:Promise、Object.observe、MutationObserver。 宏任务和微任务之间的关系 宏任务和微任务的区别 宏任务 1.

    3.4K10编辑于 2022-07-22
  • 来自专栏杨龙飞前端

    js,timeout,promise执行顺序

    micro-task包括:process.nextTick, Promises, Object.observe, MutationObserver 总的来说就是: 不同的任务会放进不同的任务队列之中

    5.9K20发布于 2018-06-15
  • 来自专栏jQuery每日经典

    JavaScript 中的 不变性(Immutability)

    这是一个普遍的挑战,EcmaScript 7提供了一个单独的API(具有更好性能)来帮助跟踪对象变化:Object.observe()。 在任何情况下,它不能正确地解决突变跟踪问题: var tiles = [{id: 0, isRevealed: false}, {id: 1, isRevealed: true}]; Object.observe

    1.4K20编辑于 2022-01-20
  • 来自专栏网络收集

    v-model

    methods: {} }); </script> </body> 用Chrome浏览器 image.png 用360浏览器 image.png 查看了几个文档后发现是Chrome不兼容Object.observe

    89130编辑于 2022-05-27
  • 来自专栏web全栈之路

    js事件循环机制和优先级

    setInterval, setImmediate, I/O,UI rendering microtask(按优先级顺序排列):process.nextTick,Promises(浏览器原生实现的 Promise), Object.observe

    1.8K20编辑于 2022-09-29
  • 来自专栏编程技术分享

    JavaScript同步、异步及事件循环

    microtask(微任务)、macrotask(宏任务) 任务队列又分微任务队列和宏任务队列 微任务 Promise MutationObserver Object.observe()(已废弃) 宏任务

    1.5K30发布于 2020-09-28
  • 来自专栏码力全开

    浅析 JS 事件循环之 Microtask 和 Macrotask

    常见应用 process.nextTick, Promises, Object.observe, MutationObserver 执行顺序 Event Loop 的实现需要至少一个 Macrotask

    1.8K30发布于 2019-11-06
  • 来自专栏小皮咖

    浏览器 Event Loop 机制

    另一些异步任务的回调会依次进入micro task queue,等待后续被调用,这些异步任务包括: process.nextTick (Node独有) Promise Object.observe MutationObserver

    47120发布于 2019-11-05
  • 来自专栏强仔博客

    js运行机制同步与异步(宏任务与微任务)

    需要在当前 同步任务 执行结束后立即执行的任务,比如对一系列动作做出反馈,或者是需要异步的执行任务而又不需要分配一个新的任务,这样便可以减小一点性能的开销 常见的微任务包括Promise.then,Object.observe

    1.5K10编辑于 2022-09-26
领券