扩展函数语法说明

时间:2014-05-21 11:56:15

标签: javascript html

您好我发现了当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 min value 0.0。数字只能有1位小数,所以它不能是1.123。

总结:值最多可包含5个字符,包括“。”小数,最多1位小数。

1 个答案:

答案 0 :(得分:1)

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

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

在这种情况下,您可以通过使用逻辑OR

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

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

相关问题