&&'的Javascript用法运算符,而不是if条件 [英] Javascript usage of && operator instead of if condition

查看:42
本文介绍了&&'的Javascript用法运算符,而不是if条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

具有这样的逻辑运算符有什么意义: r == 0&&(r = i); ?

What's the point of having this logical operator like this: r == 0 && (r = i);?

function do()
{
    var r = 0;
    var i = 10;
    r == 0 && (r = i);
}

与以下相同:

 if (r==0)
 {
     r=i;
 }

推荐答案

始终能帮助我将其翻译为单词

What always helps me is translating it to words

  1. var r = 0;
  2. var i = 10;
  3. r == 0&&(r = i);

翻译为

  1. 将变量r设置为零
  2. 将变量i设置为十
  3. 如果变量r等于零,并且返回以下语句将变量r设置为变量i的值"
  4. 什么也不做,但是r现在是10.

简而言之,让我们忘记1和2.

so in short, let's forget about 1 and 2.

在javascript中,布尔比较器中的执行流程是:如果&&中有任何部分,则停止执行if语句参数.失败.

In javascript the execution flow in a boolean comparisan is to stop execution of if statement parameters if any part from the && fails.

布尔比较将从左到右执行.

An boolean comparisan will execute from left to right.

1 == 1 && 2 == 3 && (r = i)

它将在 2 == 3 上通过 1 == 1 失败,并且永远不会到达分配操作.

it will pass 1 == 1 fail on 2 == 3 and never reach the assigment operation.

基本上是以下内容的简写:

Basically it's a shorthand for:

if(r == 0) {
   r = i;
}

这篇关于&&'的Javascript用法运算符,而不是if条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆