javascript中的数字和数字有什么区别? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的数字和数字有什么区别? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

输出:

var x = 5;
typeof (x) //will give number type as output

但是对于下面的代码,它返回false:

var x = 5;
x instanceof Number; //will give false as output

任何人都可以解释数字和数字之间的区别。我如何使第二个工作?

答案

typeof(x)总是返回一个表示x所属类型的字符串。

instanceOf运算符使用prototype属性来标识实例是否属于某个类。

在你的情况下x instanceof Number;返回false,因为x是一个原始的,永远不会返回true。如果你确实希望它返回true,你可以将你的原语“包装”到Number类中,如下所示:

new Number(x) instanceof Number; //will give TRUE as output

另一答案

如何使第二个工作?

instanceof运算符检查给定变量是否是类的对象。根据MDN的定义,

instanceof运算符测试构造函数的prototype属性是否出现在对象的原型链中的任何位置。

要使其工作,您需要使用Number类'(或其任何后代类')构造函数来实例化变量:

var x = new Number(5);
x instanceof Number // true

以上是关于javascript中的数字和数字有什么区别? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中.和[]有什么区别?

Javascript中的toString和valueOf的区别

为啥数字+字符串是javascript中的字符串?

从Javascript中的数字中删除前导零[重复]

什么是信息化?什么是数字化?这两者有什么联系和区别?

什么是JavaScript的原始值?