相关疑难解决方法(0)

应该在JavaScript比较中使用哪个等于运算符(== vs ===)?

我正在使用JSLint来完成JavaScript,并且在执行诸如比较语句内部之类的事情时,它会返回许多建议来替换==(两个等号)===(三个等号).idSele_UNVEHtype.value.length == 0if

有没有性能优势,以代替=====

任何性能改进都会受到欢迎,因为存在许多比较运算符

如果没有进行类型转换,是否会有性能提升==

javascript equality operators equality-operator identity-operator

5666
推荐指数
41
解决办法
171万
查看次数

Javascript中的字符串切换案例无法按预期工作

所以我有字符串和switch-case这个问题,我会尽量保持简单.

这里event.keyCode的值为"65",并且是'a'的keydown事件的结果(使用JQuery).

if (event.keyCode == "65") {
   alert("hmmmm");
}
Run Code Online (Sandbox Code Playgroud)

这有效,但是:

switch (event.keyCode) {
   case '65':
      alert("Yay!");
      break;
}
Run Code Online (Sandbox Code Playgroud)

事实并非如此.然而,这将工作:

switch ('65') {
   case '65':
      alert("Yay!");
      break;
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

var t = '65';
switch (t) {
   case '65':
      alert("Yay!");
      break;
}
Run Code Online (Sandbox Code Playgroud)

有用.然后我尝试了这个:

var t = event.keyCode;
switch (t) {
   case '65':
      alert("Yay!");
      break;
}
Run Code Online (Sandbox Code Playgroud)

但它失败了!

那么为什么它在开头的if-block中匹配,而不是在switch-case中呢?

javascript string jquery switch-statement

28
推荐指数
1
解决办法
6万
查看次数