一尘不染

如何获取JavaScript对象的类?

javascript

我创建了一个JavaScript对象,但是如何确定该对象的类呢?

我想要一些类似于Java的.getClass()方法。


阅读 251

收藏
2020-04-25

共1个答案

一尘不染

getClass()JavaScript中没有Java的完全对应版本。通常,这是由于JavaScript是一种基于原型的语言,而不是Java是一种基于类的语言。

一些例子:

function Foo() {}
var foo = new Foo();

typeof Foo;             // == "function"
typeof foo;             // == "object"

foo instanceof Foo;     // == true
foo.constructor.name;   // == "Foo"
Foo.name                // == "Foo"

Foo.prototype.isPrototypeOf(foo);   // == true

Foo.prototype.bar = function (x) {return x+x;};
foo.bar(21);            // == 42

注意:如果使用Uglify编译代码,它将更改非全局类名。为了防止这种情况,Uglify有一个--mangle参数,可以使用gulp或grunt设置为false 。

2020-04-25