扩展函数语法解释

Extending function syntax explanation

本文关键字:解释 语法 函数 扩展      更新时间:2023-09-26

你好,我发现当文本框的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 min值0.0。数字只能有1位小数,所以不可能是1.123。

求和:值最多5个字符,包括小数"。",最多1位。

它只是一个三元运算符,意思是

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

在本例中,您可以通过使用逻辑OR

轻松替换该行
var charCode = evt.which || event.keyCode;

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