var course = new Object();
var course = {
title: "JavaScript Essential Training",
instructor: "Morten Rand-Hendriksen",
level: 1,
published: true,
views: 0,
updateViews: function() {
return ++course.views;
},
};
console.log(course);
console.log(course);
您正在为变量课程分配一个空对象。
var course = new Object();
现在,您正在为一个带有属性的对象分配该对象。
var course = {
title: "JavaScript Essential Training",
instructor: "Morten Rand-Hendriksen",
level: 1,
published: true,
views: 0,
updateViews: function() {
return ++course.views;
},
};
在这里,一个对象被分配给变量课程,updateViews方法不会调用,因为这是一个初始化。因此,如果要更新视图,则应从变量课程中调用updateViews。喜欢这个
console.log(course.updateViews());
如果您可以发布实际看到的内容,那将会有所帮助。但是,您肯定要调用 updateViews(( 来更改视图。仅要求它写出对象的当前值不会调用对象上的每个方法。
只是控制台。记录对象不会更新视图。
您的第一个声明也没有用。
如果你愿意,你可以这样做:
var course = {
title: "JavaScript Essential Training",
instructor: "Morten Rand-Hendriksen",
level: 1,
published: true,
views: 0,
updateViews: function() {
return ++course.views;
},
toString : function() { this.updateViews(); return this }
};
console.log(course.toString());
console.log(course.toString());
我找到了更详细的答案
控制台.log是否调用对象的 toString 方法?