【问题标题】:what does "X = (!X ? 8 : X)" mean in javascript? [duplicate]“X =(!X?8:X)”在javascript中是什么意思? [复制]
【发布时间】:2013-08-17 14:28:25
【问题描述】:

我最近在网上阅读了一段 javascript 代码,想将其转换为 C#。当遇到这行代码时,我不知道它做了什么:X = (!X ? 8 : X)。请解释。

【问题讨论】:

  • 我更喜欢 if(!x) x=8; 在这种特殊情况下,三元不会保存任何内容。

标签: javascript ternary-operator


【解决方案1】:

它检查X 是否为假(包含 0、空字符串、null 或未定义)。如果是,则该行将 8 分配给 X,否则 X 保留其原始值。

【讨论】:

    【解决方案2】:

    如果!X 为真(所以如果X 为假),它会将X 变量设置为8。否则,X 保持相同的值。

    所以,如果 X 是一个空字符串、false 布尔值或 0 数字(我可能会忘记一些值,但你很好理解),它将被设置为 8,否则它将保持其原始值。同理:

    if(!X) { X = 8 } 
    

    【讨论】:

      猜你喜欢
      • 2020-03-18
      • 2021-08-02
      • 2017-02-01
      • 2015-04-12
      • 2015-03-24
      • 2016-07-18
      • 2020-02-07
      • 2018-05-07
      • 2020-10-02
      相关资源
      最近更新 更多