Archives
-
一个JavaScript 1.7的简单实验
刚刚忍不住手痒,下载了一个Firefox 2.0 Beta 1(可能过几天这个链接就换了)。写了一段JS,看来果然在JS1.7当中,Iterator是非常好用的。 代码如下 ================================ <html> <head> <script language=javascript> // add function for JavaScript Object Object.prototype.newfunc = function(){}; function init() { var a = [1,2,3,4]; var it; var s; // old method in JavaScript 1.5 s = “”; for (it in a) { s += it + [...]
Jul 14th, 2006 | Filed under javascript -
JavaScript 1.7
Firefox 2.0 beta 1推出了,肯定很多人已经关注这个事情了,我则比较(更加)关心的是JavaScript的增强。JavaScript升级到1.7了(FF1.5支持JavaScript1.5,IE6sp1支持不完全的JavaScript1.5) 在JavaScript 1.7里面有了一些新功能的支持,比如Generator和Iterator,let语法的支持,非结构化赋值(destructuring assignment)。 令我最关心和期待的就是Iterator的支持,据说只要自定义next方法和__iterator__属性就可以根据自己的需要定义返回的值了。Iterator的出现最大的好处就是可以放心的在一些内嵌的对象当中添加方法了。 以前这样的代码是很危险的: var o = new Object(); for (var i in o){} 因为很可能某个第三方的库文件在Object当中添加了一些方法,(比如著名的prototype),这样,在不同的第三方库混用的时候,就很可能出现问题。 现在有了自定义的Iterator,那么我觉得是完全可以避免的,只要为Object写好合适的iterator就可以了。具体的代码我还没有尝试。 还有一个问题,就是不知道IE7支持JavaScript到什么版本,而且,IE6和Firefox1.5.*都还是JavaScript 1.5 并且很多人是不会升级的。 所以,JavaScript1.7也许在未来的一段时间内,还是一个美好的(但是不能实现的)愿景吧。
Jul 14th, 2006 | Filed under javascript