||运算符的含义:如果||的第一个运算数是true,也不再考虑第二个运算数,否则计算后面的表达式并返回。
通常我们把它用于判断语句中,但可以巧妙的运用于赋值,达到默认值的效果。
比如:
function User{ this.name; } var u=new User(); var name=u.name || 'oseye'; alert(name); //返回oseye
如何理解呢?
u.name未被初始化,所以是undefined,undefined为false,所以继续计算oseye,并返回.
u.name || 'oseye'有点u.name?u.name:'oseye'的味道。