&& 和 ||的区别
如果&&左侧表达式的值为真值,则返回右侧表达式的值;否则返回左侧表达式的值。
如果||左侧表达式的值为真值,则返回左侧表达式的值;否则返回右侧表达式的值。
1 如果第一个操作数是 Boolean 类型,而且值为 false ,那么直接返回 false。
2 如果第一个操作数是 Boolean 类型,而且值为 true,另外一个操作数是 object 类型,那么将返回这个对象。
3 如果两个操作数都是 object 类型,那么,返回第二个对象。
4 如果任何一个操作数是 null,那么,返回 null。 //此情况是第一条的特殊情况
5 如果任何一个操作数是 NaN,那么返回 NaN。 //此情况是第一条的特殊情况
6 如果任何一个操作数是 undefinded,那么返回 undefined。 //此情况是第一条的特殊情况
在这里我们来分析出new 运算符做了那些事情
- var obj={}; 也就是说,初始化一个对象obj。
- obj.__proto__=a.prototype;
- a.call(obj);也就是说构造obj,也可以称之为初始化obj。
会饮酒时为伴侣,再逢天下平.