当前位置: 代码迷 >> JavaScript >> 如何在JQuery中比较新对象的值?
  详细解决方案

如何在JQuery中比较新对象的值?

热度:51   发布时间:2023-06-06 09:43:06.0

如何比较Javascript中对象的值?

var newNum = new Number(10);
console.log(newNum); (It displays Number {})
var newPanelId = "panel" + newNum;
console.log("New Panel ID:" + newPanelId); (It displays panel10. Perfect)

但是当我比较

if (newNum === 10)
{
  console.log("Print It");
}

它不会在if以上执行。 为什么?

小提琴: :

new关键字实际上创建了一个数字类型对象,其中数字10不是数字类型对象。 ===运算符会检查类型和值是否每次都为假。 添加+前缀将使其成为一个数字,以便您进行比较。

您已经使用过条件newNum === "10" 三元 =表示它也检查类型,并且因为您使用了10左右的引号,所以它正在寻找字符串,因此它永远不会求值为true。

相反,请执行newNum == 10 (或者,如果double =仅检查值, 而不输入,则newNum == "10"也会起作用):

 var newNum = new Number(10); console.log(newNum); var newPanelId = "panel" + newNum; console.log("New Panel ID:" + newPanelId); if (newNum == 10) { console.log("Print It"); } 

因为new Number(10)将返回一个类型的新对象,该对象永远不会等于 。 如果您想将Number对象与实际的整数或浮点数进行比较,则需要先对其进行转换,例如用速记+前缀: +newNum === 10或简单地使用非严格比较: newNum == 10

  相关解决方案