摘要: 原文:http://www.2ality.com/2011/08/array-prototype-performance.htmlArray.prototype包含了许多的通用方法,这些通用方法可以使用在任意的类数组对象上.[]是一个常用的用来访问这些方法的快捷方式.本文要讲的就是使用这个快捷方式的优点和缺点.说明类数组(array-like)对象.JavaScript中有一些对象叫类数组对象,他们有索引访问,有length属性,和数组很像,却没有数组的方法.常见的类数组对象有:特殊值arguments(能够通过索引访问到传入一个函数调用中的所有参数)和大部分的DOM查询结果.在ECMAScr 阅读全文
posted @ 2012-09-22 23:33 紫云飞 阅读(5007) 评论(3) 推荐(1) 编辑
摘要: 原文:http://atroche.org/post/30994290348/javascript-indentationJavaScript没有一个相当于PEP8的东西(译者注:PEP8是python官方的代码风格指南).没有官方的文档告诉我们应该如何来缩进.社区的风格指南(有很多)又没有一个统一的共识.作为一个程序员,我们又该怎么做?我写了一个脚本把GitHub上前100个最受关注的JS项目克隆了下来,看一下他们是用什么来缩进自己的.js文件的.下面是统计结果:和其他语言,比如Ruby和Python中,某种特定风格占据主导地位的情况比较而言,JavaScript中,这三种缩进风格貌似都占据 阅读全文
posted @ 2012-09-22 18:14 紫云飞 阅读(5516) 评论(2) 推荐(1) 编辑
摘要: 原文:http://www.2ality.com/2011/12/strict-equality-exemptions.html答案是:永远不要用.本文依次否定了五种看起来可以使用==的地方,同时解释了为什么.JavaScript中有两个运算符用来判断两个值是否相等:严格相等运算符===,必须类型相同且值相同.普通的(宽容的)相等运算符==,在比较值是否严格相等之前,首先进行类型转换.给JavaScript初学者的建议是:完全忘掉==,总是使用===.实践证明,这样做是完全正确的.有五种案例看起来可以反驳这一论点,但其实没有.从现在开始,我们的指导原则是:比起简洁,我们更喜欢意图清晰的代码.记 阅读全文
posted @ 2012-09-22 01:12 紫云飞 阅读(3613) 评论(5) 推荐(1) 编辑