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

使用if-else速记时省略第二个表达式

百里京
2023-03-14
问题内容

我可以不写if else速记else吗?

var x=1;

x==2 ? dosomething() : doNothingButContinueCode();

我注意到将null其他项目放回去是可行的(但是我不知道为什么或如果那是个好主意)。

编辑: 你们中有些人似乎感到困惑,为什么我要尝试这个。请放心,这完全是出于好奇。我喜欢弄乱JavaScript。


问题答案:

这也是一个选择:

x==2 && dosomething();

dosomething()仅在x==2评估为true时才会调用。这称为短路。

它在这种情况下不常用,您真的不应该编写这样的代码。我鼓励这种更简单的方法:

if(x==2) dosomething();

您应该始终编写可读的代码;如果您担心文件的大小,只需借助许多JS压缩器之一创建文件的缩小版本。(例如Google的Closure编译器)



 类似资料:
  • 问题内容: 随着我使用的方式如下: 我想知道是否可以使用该表达式执行与此类似的操作: 因此,无论何时不同于或使用并避免指定每个值? 问题答案: 使用嵌套的嵌入式if-then语句( 三元运算符 ) 例如 : 并确保 您的同事可读 :)

  • 这是调用方法x次的时循环。 PlayerVsPlayer。results()请求用户输入并调用另一条语句。 这是compare.win分数(Player1,Player2)中的如果其他语句的片段: 我遇到的问题是,如果其他语句第一次执行时,它工作得很好。第二次,如果其他语句跳过并返回第一次调用的值。有人知道为什么会这样吗?谢谢你的帮助!

  • 问题内容: 第二行的CSS ,这可能吗?我在网上找不到。 例: 我想要的是这样的: 但这是怎么回事: 问题答案: 工作要求是(,等)的单行版本。这意味着文本永远不会到达第二行。 嗯 在纯CSS中不可能。 编辑 如果优秀的CSS众神将实现我们可以使用(new)和(new)在纯CSS中进行模糊处理。 编辑2 WebKit / Blink具有:将省略号放在第二行。

  • 问题内容: 为什么SQL Server坚持认为临时表已经存在!一个或另一个将会发生!,所以永远不会这样。 错误是:数据库中已经有一个名为“#temp1”的对象。 有没有解决这个问题的优雅方法?如果@checkvar为null,我要整个表,否则,只给我其中@checkvar =某物的值 编辑:该列是varchar,而不是int。 问题答案: 您不能只重写语句吗?

  • 问题内容: 举例来说: 将产生sql: 哪个是正确的。但是,在加载模型时,该属性将被忽略,因为它不是的属性。 它与渴望加载和相似,但是我不希望所有列,仅指定的列是不好的。 必须有一种简单的方法来从其他模型获取列吗?与简单数组/哈希相比,我最好让这些项作为的实例返回 问题答案: 当您使用或进行时,将返回。它仅由您用来调用的类的对象组成。从联接模型中选择的列将添加到返回的对象中。由于这些属性不是的属性

  • Perl条件语句有助于决策,这需要程序员指定一个或多个要由程序评估或测试的条件,以及在条件被确定为真时要执行的一个或多个语句,以及可选的其他条件如果确定条件为假,则执行语句。 以下是大多数编程语言中的典型决策结构的一般性 - 数字0,字符串'0'和“”,空列表()和undef在布尔上下文中都是false ,所有其他值都为true 。 否定真正的价值! 或not返回特殊的假值。 Perl编程语言提供