首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Javascript中获取对象名称?

如何在Javascript中获取对象名称?
EN

Stack Overflow用户
提问于 2021-03-31 23:54:06
回答 3查看 36关注 0票数 0

如何打印出对象名"Student1“?使用Student1.constructor.name,我只能得到“学生”而不能得到"Student1“谢谢!

代码语言:javascript
运行
复制
function Student(aName, aCourse, idNumber, noOfQuiz){
    this.name = aName;
        this.courseCode = aCourse;
        this.studentID = idNumber;
    }

var Student1 = new Student("David", "FD201F", "12345678")
EN

回答 3

Stack Overflow用户

发布于 2021-04-01 00:00:51

"Student1“不是对象的名称(对象没有名称),而是引用该对象的变量的名称。您不能从对象中获取该名称,尤其是因为同一个对象可以有多个指向它的变量:

代码语言:javascript
运行
复制
var Student1 = new Student("David", "FD201F", "12345678");
var Student2 = Student1; // Both now point to the same object

通常,没有理由尝试获取变量的名称。相反,将所需的有关对象的任何相关信息存储在对象本身上,或者,如果需要将对象与对象外部的名称相关联,请使用Map或具有引用该对象的属性(具有名称)的对象。

票数 2
EN

Stack Overflow用户

发布于 2021-04-01 00:09:54

我无法想象您为什么需要它,因为名称只是开发人员访问值的引用。你可以这样做:

代码语言:javascript
运行
复制
var students = {};
students['student1'] = new Student("David", "FD201F", "12345678");
students['student2'] = new Student("Joe", "FFFFFF", "87654321");

然后,您可以像这样访问学生密钥:

代码语言:javascript
运行
复制
Object.keys(students).forEach(key => console.log(key));
票数 0
EN

Stack Overflow用户

发布于 2021-04-01 00:27:38

您不能这样做,除非使用一些复杂的东西,例如尝试访问内存和检查与每个对象的实例相关的名称。使用某种类型的反射。但那将是一场噩梦

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66891159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档