&& 和 ||的区别

时间:2023-03-10 04:47:20
&& 和 ||的区别

如果&&左侧表达式的值为真值,则返回右侧表达式的值;否则返回左侧表达式的值。

如果||左侧表达式的值为真值,则返回左侧表达式的值;否则返回右侧表达式的值。

1       如果第一个操作数是 Boolean 类型,而且值为 false ,那么直接返回 false。

2         如果第一个操作数是 Boolean 类型,而且值为 true,另外一个操作数是 object 类型,那么将返回这个对象。

3         如果两个操作数都是 object 类型,那么,返回第二个对象。

4       如果任何一个操作数是 null,那么,返回 null。 //此情况是第一条的特殊情况

5         如果任何一个操作数是 NaN,那么返回 NaN。 //此情况是第一条的特殊情况

6       如果任何一个操作数是 undefinded,那么返回 undefined。 //此情况是第一条的特殊情况

在这里我们来分析出new 运算符做了那些事情

  1. var obj={}; 也就是说,初始化一个对象obj。
  2. obj.__proto__=a.prototype;
  3. a.call(obj);也就是说构造obj,也可以称之为初始化obj。