栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

监视所有JavaScript对象属性(神奇的getter和setter)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

监视所有JavaScript对象属性(神奇的getter和setter)

通过查看nowjs源代码,我相信他们可以通过持续监视

now
对象并在检测到它们时在客户端和服务器之间推送更改来做到这一点。我承认我还没有完全理解他们的代码。

在浏览器中,这可以通过一些有趣的

setInterval
技巧来完成。

编辑
:是的,这的确是他们的工作:客户的368行

now.js
。他们还会做一些技巧,以便一旦检测到新属性,getter和setter就会捕获对它的将来访问,但是这些修改仅在a中每1000毫秒进行一次
setTimeout

另一个证据表明,在当前的Javascript中这是不可能的,这是ECMAscript
Harmony的代理建议明确设计为支持此类方案,这非常有力地暗示它们目前无法完成。如果可能的话,最新的Mozilla浏览器具有代理实现的原型。显然,V8正在努力添加支持,这可能已经足够了,这取决于最近使用的V8
Node版本。

EDIT2 :哦,很酷,在 服务器
端,nowjs确实使用代理!这很可能意味着它们在Node中已经足够成熟,可以使用。在https://github.com/Flotype/now/blob/master/lib/proxy.js上查看他们的工作。或者只是

varProxy = require("nodejs-proxy")
希望他们遵循规范,以便您可以利用MDC和其他地方的文档。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367974.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号