标签: logical-operators

JavaScript中&和&&之间的区别是什么?

JavaScript中&和&&之间的区别是什么?

例如,代码:

var first  = 123;
var second = false;
var third  = 456;
var fourth = "abc";
var fifth  = true;
alert(first & second); // 0
alert(first & third);  // 72
alert(first & fourth); // 0
alert(first & fifth);  // 1

alert(first && second); // false
alert(first && third);  // 456
alert(first && fourth); // abc
alert(first && fifth);  // true
Run Code Online (Sandbox Code Playgroud)

似乎&&是一个逻辑"和",如果两者都是真的,它总是给我第二个值.

但是什么是&?

(顺便说一句,&&似乎是Python中的"和";&似乎是&在Python中.)

javascript bitwise-operators logical-operators

64
推荐指数
2
解决办法
7万
查看次数

分配中的Javascript AND运算符

我知道在JavaScript中你可以这样做:

var oneOrTheOther = someOtherVar || "these are not the droids you are looking for...";
Run Code Online (Sandbox Code Playgroud)

其中变量oneOrTheOther将在第一表达式的值,如果它不是null,undefinedfalse.在这种情况下,它被分配给第二个语句的值.

但是,oneOrTheOther当我们使用逻辑AND运算符时,变量会分配给什么?

var oneOrTheOther = someOtherVar && "some string";
Run Code Online (Sandbox Code Playgroud)

什么时候会发生someOtherVar非假的?假的
时候会发生什么someOtherVar

只是学习JavaScript,我很好奇与AND运算符一起分配会发生什么.

javascript variable-assignment logical-operators and-operator

59
推荐指数
4
解决办法
2万
查看次数

56
推荐指数
4
解决办法
3708
查看次数

在.NET中依赖&&短路安全吗?

假设myObj为null.写这个是安全的吗?

if(myObj != null && myObj.SomeString != null)
Run Code Online (Sandbox Code Playgroud)

我知道有些语言不会执行第二个表达式,因为在执行第二个部分之前&&的计算结果为false.

.net c# operators short-circuiting logical-operators

51
推荐指数
3
解决办法
2万
查看次数

Javascript逻辑"!=="运算符?

我正在重新开始进行Web开发,并且最近一直试图重新审视jscript的细微差别.我正在通过构建在Three.JS之上的THREEx扩展库的源代码,并注意到了这个功能

THREEx.KeyboardState.prototype.pressed  = function(keyDesc)
{
    var keys    = keyDesc.split("+");
    for(var i = 0; i < keys.length; i++){
        var key     = keys[i];
        var pressed;
        if( THREEx.KeyboardState.MODIFIERS.indexOf( key ) !== -1 ){
            pressed = this.modifiers[key];
        }else if( Object.keys(THREEx.KeyboardState.ALIAS).indexOf( key ) != -1 ){
            pressed = this.keyCodes[ THREEx.KeyboardState.ALIAS[key] ];
        }else {
            pressed = this.keyCodes[key.toUpperCase().charCodeAt(0)];
        }
        if( !pressed)   return false;
    };
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我特别关注这里的线路:

if( THREEx.KeyboardState.MODIFIERS.indexOf( key ) !== -1 ){
Run Code Online (Sandbox Code Playgroud)

我不熟悉这个!==运算符.我检查了w3schools,他们的逻辑运算符列表中没有包含这个.我不确定这是否拼写错误,浏览器只是将其视为!=或者它是否有其他含义.另外我想知道这实际上是一个逻辑运算符还是它是某种组合,比如!+ ==?

javascript syntax logical-operators

50
推荐指数
3
解决办法
12万
查看次数

为什么逻辑运算符(&&和||)总是返回布尔结果?

为什么这些逻辑运算符返回一个对象而不是布尔值?

var _ = (obj.fn && obj.fn() ) || obj._ || ( obj._ = {} );

var _ = obj && obj._;
Run Code Online (Sandbox Code Playgroud)

我想理解为什么它返回obj.fn()(如果已定义)OR的obj._结果,但不返回布尔结果.

javascript logical-operators

48
推荐指数
5
解决办法
2万
查看次数

逻辑和条件AND之间的区别是什么,在C#中是OR?

可能重复:
|之间的差异是什么 和|| 还是运营商?

逻辑AND和OR:

(x & y)
(x | y)
Run Code Online (Sandbox Code Playgroud)

条件AND和OR:

(x && y)
(x || y)
Run Code Online (Sandbox Code Playgroud)

到目前为止,我只知道条件操作数.我知道它的作用以及如何在if语句中应用它.但逻辑操作数的目的是什么?

c# conditional-operator logical-operators

47
推荐指数
3
解决办法
8万
查看次数

如何在bash中简单地计算两个变量的最小值?

我有一个bash脚本检查平台上的CPU数量,以有效地使用-jmake,repo等选项.我使用这个:

JOBS=$(cat /proc/cpuinfo | grep processor | tail -1 | sed "s,^.*:.*\([0-9].*\)$,\1,")
echo -e "4\n$JOBS" | sort -r | tail -1
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,我想知道是否有任何内置函数执行相同的操作(即计算最小值或最大值)?

bash logical-operators

46
推荐指数
2
解决办法
3万
查看次数

一个明确的,外行的解释|之间的区别 和|| 在c#?

好的,所以我已多次阅读过这篇文章,但我还没有听到一种清晰,易懂(且令人难忘)的方法来了解它们之间的区别:

if (x | y)
Run Code Online (Sandbox Code Playgroud)

if (x || y)
Run Code Online (Sandbox Code Playgroud)

..在C#的背景下.任何人都可以帮助我学习这个基本事实,以及C#如何具体地对待它们(因为它们似乎做同样的事情).如果给定代码片段之间的差异是无关紧要的,我应该将其默认为最佳实践?

c# bitwise-operators logical-operators

45
推荐指数
5
解决办法
8384
查看次数

为什么"if(i ++ &&(i == 1))"false,其中i是一个保持值为1的int?

{
    int i = 1;
    if (i++ && (i == 1))
        printf("Yes\n");
    else
        printf("No\n");
}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,在if条件中,首先i==1将对应该返回的expression()进行求值1,然后在逻辑上对其进行求1i,因此表达式应该返回1 && 1 == 1,但是else部分被执行.

有人可以解释else部分执行的原因吗?

c if-statement logical-operators

44
推荐指数
3
解决办法
7735
查看次数