当我们尝试在屏幕上Number
打印document.querySelector('#test').textContent = Number
时,我们会得到结果:function Number() { [native code] }
。所以这是构造函数方法的定义。但是,对于具有几个方法和字段(属性)的对象编号包装器Number
,如何使用相同的名称,例如Number.MAX_VALUE
? ..,那两者有什么区别?
答案 0 :(得分:1)
只有一个Number
个对象。要理解为什么,你必须记住JavaScript是如何工作的......看看这个基本的例子:
function Test(foo, bar) {
this.foo = foo;
this.bar = bar;
return "Hello!";
}
Test.bye = function () {
return "Bye!";
};
console.log(new Test('Foo', 'Bar'));
console.log(Test('Foo', 'Bar'));
console.log(Test.bye());

答案 1 :(得分:1)
首先,你必须了解如何在javascript中使用类和对象。
虽然javascript不是面向对象的,但它模拟了一些OOP原则。
您可以模拟如下所示的类:
//class/constructor definition
function MyCustomType() {}
//static property
MyCustomType.SOME_CONSTANT_VALUE = "Hello, ";
//property of class
MyCustomType.prototype.Name = "World";
//methods
MyCustomType.prototype.getName = function () {
return MyCustomType.SOME_CONSTANT_VALUE + this.Name;
}
重要的是要理解一些元素,比如原型以及为什么你的使用更好然后使用
此
在构造函数上。
因此,为了给您一个更具体的响应,本机Number就像一个具有一些静态属性的类。