【问题标题】:Extending function syntax explanation扩展函数语法解释
【发布时间】:2014-05-21 11:56:15
【问题描述】:

您好,我找到了在 textBox 的 onkeypress 事件触发时调用的 js 函数。我在问是否有人可以解释它的语法。

function isDecimalKey(evt) {
  var charCode = (evt.which) ? evt.which : event.keyCode
  if(charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46) return false;
  return true;
}

我不确定这个var charCode = (evt.which) ? evt.which : event.keyCode 代码的含义是什么,但我想扩展这个函数,以便它还会检查数字是否在最大值999.9 最小值0.0 的允许范围内。 number 只能有 1 位小数,所以不能是 1.123。

总结:值最多可以有 5 个字符,包括“.”。对于小数,最多保留 1 个小数位。

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    它只是基本上说的三元运算符

    (is this expression true) ? -> YES DO THIS : NOPE, ITS NOT DO THAT INSTEAD
    

    在这种情况下,您只需使用逻辑 OR 即可轻松替换该行

    var charCode = evt.which || event.keyCode;
    

    基本上这是同一个检查。如果evt.which 有任何真值,解释器将忽略右侧的表达式。如果第一个表达式的计算结果为 false,我们将使用右边的表达式,不管它包含什么。

    【讨论】:

    • 所以这意味着如果evt.which 为null 或NaN 那么charCode = event.keyCode?
    • 非常感谢您的清晰解释,祝您有美好的一天:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 2014-01-15
    • 2019-11-27
    相关资源
    最近更新 更多