[英]why are the views not updated when I console.log(course) the second time
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);
如果您可以發布您實際看到的內容,將會有所幫助。 但是,您肯定想調用 updateViews() 來更改視圖。 只是要求它寫出 object 的當前值並沒有調用 object 上的每個方法。
您正在將一個空的 object 分配給變量課程。
var course = new Object();
現在你正在分配一個帶有屬性的 object。
var course = {
title: "JavaScript Essential Training",
instructor: "Morten Rand-Hendriksen",
level: 1,
published: true,
views: 0,
updateViews: function() {
return ++course.views;
},
};
這里 object 被分配給變量 course 並且 updateViews 方法不會調用,因為這是一個初始化。 所以如果你想更新視圖,你應該從你的變量 course 調用 updateViews 。 像這樣
console.log(course.updateViews());
僅控制台記錄 object 不會更新視圖。
您的第一個聲明也沒有用。
如果你願意,你可以這樣做:
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());
我找到了更詳細的答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.