如何打印出对象名"Student1“?使用Student1.constructor.name,我只能得到“学生”而不能得到"Student1“谢谢!
function Student(aName, aCourse, idNumber, noOfQuiz){
this.name = aName;
this.courseCode = aCourse;
this.studentID = idNumber;
}
var Student1 = new Student("David", "FD201F", "12345678")发布于 2021-04-01 00:00:51
"Student1“不是对象的名称(对象没有名称),而是引用该对象的变量的名称。您不能从对象中获取该名称,尤其是因为同一个对象可以有多个指向它的变量:
var Student1 = new Student("David", "FD201F", "12345678");
var Student2 = Student1; // Both now point to the same object通常,没有理由尝试获取变量的名称。相反,将所需的有关对象的任何相关信息存储在对象本身上,或者,如果需要将对象与对象外部的名称相关联,请使用Map或具有引用该对象的属性(具有名称)的对象。
发布于 2021-04-01 00:09:54
我无法想象您为什么需要它,因为名称只是开发人员访问值的引用。你可以这样做:
var students = {};
students['student1'] = new Student("David", "FD201F", "12345678");
students['student2'] = new Student("Joe", "FFFFFF", "87654321");然后,您可以像这样访问学生密钥:
Object.keys(students).forEach(key => console.log(key));发布于 2021-04-01 00:27:38
您不能这样做,除非使用一些复杂的东西,例如尝试访问内存和检查与每个对象的实例相关的名称。使用某种类型的反射。但那将是一场噩梦
https://stackoverflow.com/questions/66891159
复制相似问题