javascript - 如何获取 JavaScript 对象的类?

标签 javascript oop

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

我想要类似于 Java 的 .getClass() 方法的东西。

最佳答案

没有与 Java 的 getClass() 完全对应的版本。在 JavaScript 中。这主要是因为 JavaScript 是 prototype-based language ,而不是 Java 是 class-based一个。

根据您需要 getClass() 的用途,JavaScript 中有几个选项:

几个例子:

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可以设置为 false 的参数正在使用 gulpgrunt .

关于javascript - 如何获取 JavaScript 对象的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1249531/

相关文章:

javascript - Mailchimp AJAX jQuery 意外 token <

javascript - 单击具有给定类的页面上的所有 anchor 标记,但在导航之前取消

java - 制作不可修改的对象

java - 面向对象/数字泛型

.net - 为什么我必须在这里使用重载?

javascript - three.js 动画基本骨架

javascript - HTML 多种表单,带有 2 个 JavaScript

c++ - 使用类的对象作为方法中的参数

java - 关于eclipse检测到代码错误并创建对象来运行方法的问题

javascript - Excel "power of"函数转 JS