所以我正在设计一个成绩册界面,我有一门类(class)定义为:
<script>
course = new Object();
var name;
var gradingareas;
var finalgrade;
</script>
然后我想创建一个新实例:
var gradingareas = new Array("Homework", "Classwork", "Exams");
course1 = new course("CS1500", gradingareas, 85);
我也尝试过没有前面的 var ,但没有成功。我收到“未捕获的类型错误:对象不是函数”我对 javascript 非常陌生,所以我什至不知道我是否以正确的方式处理此问题。任何帮助表示赞赏谢谢。
最佳答案
您现有的代码:
// Creates a new, empty object, as a global
course = new Object();
// Creates three new variables in the global scope.
var name;
var gradingareas;
var finalgrade;
变量和对象之间没有联系。
看起来你想要的东西更像是:
function Course(name, gradingareas, finalgrade) {
this.name = name;
this.gradingareas = gradingareas;
this.finalgrade = finalgrade;
}
然后:
var course1 = new Course("CS1500", gradingareas, 85);
请注意使用大写字母来命名构造函数。这是 JS 社区的约定。
关于JavaScript 创建对象的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15505405/