javascript逻辑分配如何工作?

Inc*_*ito 13 javascript variable-assignment logical-operators

在javascript中,如果我们有一些代码,如

var a = "one";
var b = q || a;
alert (b);
Run Code Online (Sandbox Code Playgroud)

逻辑OR运算符将为b分配值,并且警报将为"1".

这仅限于作业还是我们可以在任何地方使用它?

似乎空字符串的处理方式与undefined相同.这是正确的吗?

这如何与AND变量一起使用?它们的组合怎么样?

什么时候使用这些成语,或何时不使用?

dhe*_*aur 24

为了你q || a的评价a,q应该是一个'虚假'的价值.你所做的就是所谓的"短路评估".

回答你的问题:

  1. 逻辑运算符(如和 - &&,或 - ||)也可用于其他情况.更常见的是在条件语句中if.更多这里

  2. 空字符串不被视为undefined.两者都是虚假的价值观.还有一些虚假的价值观.更多这里

  3. AND或者&&在JavaScript中,不是变量.这是一个运营商

  4. 你习惯使用的习惯很常见.

    var x = val || 'default'; //is generally a replacement for

    var x = val ? val : 'default' //or

    if (val) var x = val; else var x = 'default';


Ano*_*on. 7

||在Javascript中的工作方式是:

  1. 如果左操作数计算为true,则返回左操作数
  2. 否则,返回正确的操作数

&&的工作方式类似.

您可以将其用于内联存在检查,例如:

var foo = (obj && obj.property)
Run Code Online (Sandbox Code Playgroud)

将设置fooobj.propertyif obj定义和"truthy".