javascript中数字和数字的区别是什么?

javascript中数字和数字的区别是什么?,javascript,numbers,instanceof,typeof,Javascript,Numbers,Instanceof,Typeof,输出: var x = 5; typeof (x) //will give number type as output 但对于以下代码,它返回false: var x = 5; x instanceof Number; //will give false as output 谁能解释一下数字和数字的区别吗。我怎样才能让第二个工作呢 我如何使第二个工作 运算符检查给定变量是否为类的对象。根据MDN的定义 instanceof操作符测试构造函数的prototype属性是否出现在对象的protot

输出:

var x = 5;
typeof (x) //will give number type as output
但对于以下代码,它返回false:

var x = 5;
x instanceof Number; //will give false as output
谁能解释一下数字和数字的区别吗。我怎样才能让第二个工作呢

我如何使第二个工作

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

instanceof操作符测试构造函数的prototype属性是否出现在对象的prototype链中的任何位置

要使其工作,您需要使用Number class或其任何子类构造函数实例化变量:

var x = new Number(5);
x instanceof Number // true
typeofx始终返回表示x所属类型的字符串

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

数字的x实例;在您的例子中,返回false,因为x是一个原语,永远不会返回true。如果希望返回true,可以将原语包装成如下所示的数字类:


新号码X实例的号码//将“真”作为输出

添加到上述内容中,对于第二个块,因为x是数字类型,它应该输出“真”,但事实并非如此?您的意思是如何使其工作?你的目标是什么?如果你想检查一个变量是否是一个数字,你会像在第一个代码中那样做typeof x===='number'。通读更多信息,应该清除它,你做第二个工作的目标是什么?