只显示主题贴
ECMA对这个倒是没明确规定
但是按照ECMA262的意思 Object Function Array等并非GlobalObject的特权属性 所以应该都可以正确删除
所以虽然标准没有明确的规定 也不应该认为是implementation dependent的
FireFox在此处显然属于实现错误
因为alert(delete Function);是true
说实话 如果你读了SpiderMonkey源码 你会对它有很深的绝望
- 进入论坛 AJAX 版
achun 写道
soni 写道
什么叫顶级的?是不是就是语言内建的叫顶级的?
我也是这么理解的.不过还是用官方的说法比较合适.Predefined Core Objects
预定义核心对象,
问题是内建这个词没有一个定义,Object是系统一运行就建立的,算不算内建呢?
但是Objcet肯定不算Core Objects,因为官方列表中就没有.
好像没什么区别吧 这些都可以delete
Moz写的文档只是把Object单拿出来说了
不管怎么说ECMA现在比Moz更官方 ECMA现在是把它们放一起的
- 进入论坛 AJAX 版
晕 才看明白 原来有个这个东西......
new HashMap<Double, Double>
那样的话 你可以把HashMap放到类成员级 递归的时候先检查是否在HashMap中 然后return之前把值存进HashMap里面 应该比你这样展开快得多
跟着起了半天哄 才发现就是备忘录加速的......不过如果楼主纯粹是自己想出来的 也挺不错
不玩了 回去罚站......
- 进入论坛 综合技术 版
mingliangfeng 写道
你没有仔细的看帖子,上面非递归比递归快,是因为非递归缓存了计算值,而直接的递归重复了许多不必要的计算,导致速度慢,并不是什么Java的函数调用栈比链表栈慢。
哦 我没认真看......
这难道就是传说中的备忘录 那好像你不是第一个哦......
而且你干嘛把递归展开到Java栈上再用备忘录?
- 进入论坛 综合技术 版
我滴神啊 你以为函数返回值相同就叫等价?
你说的实在太远了我才把ECMA262搬出来解释解释免得误导新人
你要非说没错我也没办法
反正我这人别人说点什么总插一杠子说不对确实挺烦人(我自己也这么觉得 哈哈) 不过有我搅和一下 可能有些人再看这东西的时候会稍微自己思考一下吧 毕竟这帖子挂着个精华的招牌呢 我挺怕看一片叫好的帖子的 有些东西我要不说 说不定真就没人说了
那么 目的已经达到了 我也不会再参与这个讨论了
最后感慨一句 JS这个貌似可爱的脚本咬起人来其实挺疼的
- 进入论坛 AJAX 版
- -!这样也可以靠上 你明明连词法关系都没搞对...... 人家new跟函数调用是两种表达式 只不过是长得很像 都带括号而已
算了不说了 能看懂ECMA262的人太少了 明明就那么几行英文 真无奈
设计一个貌似可爱的脚本能让一大半的使用者都看不懂标准文档 该说Brendan Eich水平高还是说他悲哀? 或者,二者兼有......
- 进入论坛 AJAX 版
When the [[Construct]] property for a Function object F is called, the following steps are taken:
1. Create a new native ECMAScript object.
2. Set the [[Class]] property of Result(1) to "Object".
3. Get the value of the prototype property of the F.
4. If Result(3) is an object, set the [[Prototype]] ...
- 进入论坛 AJAX 版
alucardggg 写道我给出
var f = new F();
和f = F();
2者是等价的这个结论,是基于我做了大量的测试的基础上,至于为什么得到这个结果我当时也很迷惑
还好,在ECMA的文档中找到了证据,大家可以研究下文档中的概念,结合我的测试结果,不难理解JS整个对象机制
晕 哪能这么读文档呢
既然要看 有些地方就要看全吧,哪能带着主观的想法去看 找支撑自己观点东西啊。
这段说的是内置的Function函数
内置的Function Array RegExp直接调用跟new完全等价是显然的
人家可没说你自己写的
function F(){
return functio ...
- 进入论坛 AJAX 版







评论排行榜