前两天,
Aimingoo问我如何能捕获E4X对象的事件(如修改了一个属性),我这两天稍做了研究,发现:
还真没办法!
问题在于E4X的模型,与现有JavaScript和DOM模型根本是不同的!
所以E4X的xml对象上,根本没有addEventListener之类的方法。而E4X的操作也不是基于对象上的方法的,有直接的运算符(例如+=可以用来追加元素),所以甚至也不可能使用暴力AOP(例如改写Element.setAttribute方法)。
理论上说,貌似E4X的xml对象有domNode()方法(我没有核对过规范ECMA357——连不上,难道ecma网站被功夫王河蟹了?),可以获得对应的DOM节点,然后应该可以addEventListener,但是实际上目前无论rhino和spidermonkey都不支持该方法(谁给测一下AS3?)。而且反过来,要对DOM对象包装得到E4X的xml对象(例如new XML(document)),也没有得到支持(再次,谁给测一下AS3)。也就是说,目前为之,E4X的xml对象,虽然是native了,但是和DOM却是完全割裂的。
这种割裂不仅是当前的implementation的问题,而是存在一些深层次的矛盾。
BE同志说:“I have a jaundiced view of E4X”,并指出了一些重要的兼容性问题。
而Rhino的David Caldwell说“Some of these semantics simply can't be transparent, due to underlying differences in the object models”。
问题的细节,有兴趣的同志可以参考:
http://groups.google.com/group/mozilla.dev.tech.js-engine/browse_thread/thread/6566b430328bc3ef#
https://bugzilla.mozilla.org/show_bug.cgi?id=270553
一句话,E4X虽然看上去很美,随手用用也不错,但还是存在很多问题的。并且从BE等的表态来看,至少要等到ES4之后,才有可能开始去解决这些问题。
顺便马后炮一下:我从一开始就觉得E4X有点鸡肋。。。
分享到:
相关推荐
总结来说,AI芯片并非鸡肋,而是实实在在的有用技术。其在数据处理、算法效率方面的优势,使得AI芯片在图像和视频处理等领域的应用变得不可或缺。随着技术的进一步发展,AI芯片将为消费者带来更为神奇的日常应用,极...
- **限定 Content-Type**:虽然文档认为这一功能略显鸡肋,但实际上它为处理不同类型的内容提供了更多选项。 - **URI 操作增强**:Spring 3.x 提供了更强大的 URI 处理能力,包括 UriComponents 和 ...
优化修复PHPSSO代码,让PHPSSO可用、好用,不再是鸡肋 修复已知安全漏洞 修复已知BUG 增加安装时自定义后台管理登录地址 后台附件上传修改为H5上传 会员头像上传修改为H5上传 支持HTTPS 支持安装时自定义后台登录...
最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结。 前言 在苹果 iPhoneX 、iPhone XR等设备上...
语音IM或为运营商的鸡肋.docx
JavaWeb鸡肋代码生成器是一个实用工具,专为JavaWeb开发者设计,旨在简化常见的编码工作。这个工具的主要功能是根据数据库中的数据表自动创建MVC架构的基类,从而节省开发者手动编写这些基础代码的时间。在JavaWeb...
小程序?——奢侈品牌的鸡肋之选?.pdf
>$keyword 木有进行过滤 导致注入 直接访问 木有找到GetPage函数导致出错 注入变成鸡肋下载 (19.21 KB)2012-8-24 13:40后
COOKIE管理 ,上网中的COOKIE如同三国中的鸡肋 食之无味弃之可惜 多亏有了”COOKIE管理工具
魅族M9专用下载助手,鸡肋的自带下载去见鬼吧!
标题“电商业务成传统企业鸡肋”反映了传统企业在电子商务领域的困境,主要表现为投入与回报不成正比,甚至成为企业负担。以下是对这一主题的详细分析: 1. 传统企业电商挑战: - 高额投入:以美邦为例,其在电商...
以下是一些被认定为相对鸡肋的跑步装备及其详细解释: 1. 跑步机:虽然跑步机提供了室内跑步的便利,尤其对于极端天气或无法户外运动的情况,但它模拟的路面感觉并不自然,与实际路面的反馈差距较大,可能导致跑步...
标题中的“Prompt IDE来了⋯是划时代AI神器还是鸡肋?”暗示了这是一款与人工智能(AI)相关的集成开发环境(IDE)。IDE是程序员用于编写、调试和运行代码的软件工具,而Prompt IDE可能是专为AI开发设计的新一代平台...
本次课程主题为"域名投资方向无用域名成鸡肋",但实际上,提供的内容与域名投资无关,而是关于市场营销和渠道管理的讲座。讲座由北京创世双嘉营销管理咨询公司的董事长路长全主讲,他拥有丰富的实战经验,曾在多个...
【标题】:为什么说多线程是鸡肋?神级程序员带你真正熟练使用多线程! 【描述】:本文将探讨Python多线程为何被称为鸡肋,并指导如何有效利用多线程。 【标签】:Python,多线程,多进程,GIL,线程安全 【正文...
然而,教培行业在实践私域运营时,却面临“鸡肋”甚至“毒药”的困境。以下将深入分析这一现象。 一、教培行业的传统运营模式与私域流量的冲突 教培行业传统的运营模式主要包括市场部获取线索、电销部跟进、销售...
BAT踏入众筹:“流量”筑起护火线金融社区城河谨防变鸡肋21.ppt
在IT行业中,有时候我们可能需要实现一些特殊或者有趣的功能,比如标题中提到的"实现一个鸡肋的功能——写汉字"。这个功能旨在模仿一个叫做"写汉字"的小程序,主要涉及的技术栈是JavaScript,特别是Hanzi Writer库...
然而,与此同时,市场中也出现了一些对多抓鱼功能的争议和批评声,认为其中某些设计可能并不实用,甚至成为所谓的“鸡肋功能”。本文将深入探讨多抓鱼的创新功能及其潜在的不足之处,以便为用户和市场提供更为全面的...