当前位置: 首页 > 面试题库 >

什么是“ x && foo()”?

沈树
2023-03-14
问题内容

我看到其他地方说:

x && foo();

等于

if(x){
    foo();
}

我测试了一下,他们确实做了同样的事情。但为什么?到底是x && foo()什么?


问题答案:

AND和OR运算符都可以捷径。

因此,&&仅在第一个表达式为true时才尝试第二个表达式(更确切地说,是类似事实的表达式)。第二个操作确实起作用(无论其内容如何foo())的事实无关紧要,因为除非第一个表达式的计算结果为真,否则它不会执行。如果是事实,则将执行它以尝试第二次测试。

相反,如果||语句中的第一个表达式为true,则第二个表达式不会被触动。这样做是因为整个语句已经可以求值,无论第二个表达式的结果如何,该语句都会为true,因此它将被忽略并保持未执行状态。

当然,使用此类快捷方式时要注意的情况是使用运算符的情况,其中定义的变量仍会计算为伪造的值(例如0)和真实的值(例如'zero')。



 类似资料:
  • 我不知道这意味着什么: 我找不到这些运算符的含义,任何帮助将不胜感激!

  • 问题内容: 执行此操作后(幕后)会发生什么? 也就是说,当变量在一个语句中后增加并分配给它自己时?我编译并执行了这个。即使整个陈述之后仍然是7 。在我的书中,它说是递增的! 问题答案: 确实增加了。但是,你正在将 的旧值分配给它自己。 1.递增x并返回其旧值。 2. 将旧值分配回自己。 因此,最后将其分配回其初始值。

  • 23.1 什么是 X Window System Unix Like 操作系统不是只能进行服务器的架设而已,在美编、排版、制图、多媒体应用上也是有其需要的。 这些需求都需要用到图形接口 (Graphical User Interface, GUI) 的操作的, 所以后来才有所谓的 X Window System 这玩意儿。那么为啥图形窗口接口要称为 X 呢?因为就英文字母来看 X 是在 W(ind

  • 问题内容: 我正在调试一些JavaScript,无法解释它的作用? 有人可以给我一个提示,为什么这个人正在使用?我有时也看到它而没有声明。 问题答案: 这意味着该参数是可选的。因此,如果您不带任何参数调用该方法,则它将使用默认值。 它是写作的简写: 这种带有布尔表达式的速记技巧在Perl中也很常见。带有表达式: 它计算是否为或为。因此,如果为真,则完全不需要检查。这称为短路布尔评估,因此: 基本上

  • 问题内容: 我正在使用OWASP ZAP在我的本地主机上进行一些渗透测试,并且不断报告此消息: Anti-MIME-Sniffing标头X-Content-Type-Options未设置为’nosniff’ 此检查特定于Internet Explorer 8和Google Chrome。如果Content- Type标头未知,请确保每个页面都设置了Content-Type标头和X-CONTENT-

  • 我正在用OWASP ZAP在我的本地主机上做一些渗透测试,它不断报告这样的消息: 反MIME-嗅探标头X-Content-Type-Options未设置为“nosniff” 此检查针对Internet Explorer 8和Google Chrome。确保每个页面都设置一个Content-Type头,如果Content-Type头未知,则设置X-CONTENT-TYPE-OPTIONS 我不知道这