这与此问题有些相关,但我并不是要求有关JavaScript最佳实践的资源,而是您的实际建议.
我将从我自己的列表开始.如果您确定该建议没有争议,您可以发布答案或直接编辑问题.
开始了:
var
===
比较Number()
,String()
,Boolean()
typeof
instanceof
检查内置对象类型Object.prototype.toString()
以避免跨框架问题,例如
Object.prototype.toString.call(obj) === '[object Array]'
Run Code Online (Sandbox Code Playgroud)检查this
构造函数,例如
function MyObject() {
if(!(this instanceof arguments.callee))
throw new Error('constructor called with invalid `this`');
// [...]
}
Run Code Online (Sandbox Code Playgroud)使用匿名函数进行命名空间不会污染全局范围,例如
(function() {
var noGlobalVar = 'foo';
// [...]
})();
Run Code Online (Sandbox Code Playgroud)签hasOwnProperty()
入for..in
循环 - 不要假设没有人搞乱原型
for..in
循环迭代数组或类数组对象的元素 归档时间: |
|
查看次数: |
1580 次 |
最近记录: |