以图明志

JavaScript

JavaScript探秘:用parseInt()进行数值转换

顾名思意,不是简单地解析与转换
使用parseInt()你可以从字符串中获取数值,该方法接受另一个基数参数,这经常省略,但不应该。当字符串以”0″开头的时候就有可能会出问题,例如,部分时间进入表单域,在ECMAScript 3中,开头为”0″的字符串被当做8进制处理了,但这已在ECMAScript 5中改变了。为了避免矛盾和意外的结果,总是指定基数参数。

JavaScript

JavaScript探秘:eval()是“魔鬼”

eval()可以干扰作用域链
如果你现在的代码中使用了eval(),记住该咒语“eval()是魔鬼”。此方法接受任意的字符串,并当作JavaScript代码来处理。当有问题的代码是事先知道的(不是运行时确定的),没有理由使用eval()。如果代码是在运行时动态生成,有一个更好的方式不使用eval而达到同样的目标。例如,用方括号表示法来访问动态属性会更好更简单。

JavaScript

JavaScript探秘:Prototypes强大过头了

不增加内置原型是最好的
扩增构造函数的prototype属性是个很强大的增加功能的方法,但有时候它太强大了。增加内置的构造函数原型(如Object(), Array(), 或Function())挺诱人的,但是这严重降低了可维护性,因为它让你的代码变得难以预测。使用你代码的其他开发人员很可能更期望使用内置的 JavaScript方法来持续不断地工作,而不是你另加的方法。

JavaScript

JavaScript探秘:for-in循环(for-in Loops)

使用for-in进行循环也被称为“枚举”
for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”。从技术上将,你可以使用for-in循环数组(因为JavaScript中数组也是对象),但这是不推荐的。因为如果数组对象已被自定义的功能增强,就可能发生逻辑错误。另外,在for-in中,属性列表的顺序(序列)是不能保证的。所以最好数组使用正常的for循环,对象使用for-in循环。

JavaScript

JavaScript探秘:for循环(for Loops)

不足在于每次循环的时候数组的长度都要去获取
在for循环中,你可以循环取得数组或是数组类似对象的值,譬如arguments和HTMLCollection对象。这种形式的循环的不足在于每次循环的时候数组的长度都要去获取下。这回降低你的代码,尤其当myarray不是数组,而是一个HTMLCollection对象的时候。

JavaScript

JavaScript探秘:var预解析与副作用

var定义变量二三事
隐式全局变量和明确定义的全局变量间有些小的差异,就是通过delete操作符让变量未定义的能力。通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。这表明,在技术上,隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。

JavaScript

JavaScript探秘:谨慎使用全局变量

全局对象与全局变量介绍
JavaScript通过函数管理作用域。在函数内部声明的变量只在这个函数内部可用,而在函数外面不可用。另一方面,全局变量就是在任何函数外面声明的或是未声明直接简单使用的。每个JavaScript环境有一个全局对象,当你在任意的函数外面使用this的时候可以访问到。

JavaScript

JavaScript探秘:编写可维护的代码的重要性

Writing Maintainable Code
软件bug的修复是昂贵的,并且随着时间的推移,这些bug的成本也会增加,尤其当这些bug潜伏并慢慢出现在已经发布的软件中时。当你发现bug 的时候就立即修复它是最好的,此时你代码要解决的问题在你脑中还是很清晰的。否则,你转移到其他任务,忘了那个特定的代码,一段时间后再去查看这些代码就需要花时间学习和理解这个问题。

JavaScript

我们应该如何去了解JavaScript引擎的工作原理

与学习方法有关
简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序。学过编译原理的人都知道,对于静态语言来说(如Java、C++、C),处理上述这些事情的叫编译器(Compiler),相应地对于JavaScript这样的动态语言则叫解释器(Interpreter)。
3 / 3 首页 < Prev 1 2 3 Next > 尾页 页码: