用代码来解释比用文字更容易,因此考虑以下情景:
// one
var myClass = function(a, b)
{
if(a) this.a = a;
if(b) this.b = b;
}
// two
var myClass = function(a, b)
{
this.a = a || null;
this.b = b || null;
}
假设你有一个被频繁调用的方法(每秒钟多次调用)
myClass.prototype.doSomething = function()
{
if(this.a) // do something
if(this.b) // so something else
};
第一种情况是检查一个未定义的属性,而第二种情况是检查一个已存在但值为null
的属性。
在JavaScript中哪种情况执行更好?
undefined
。 - jfriend00