Javascript:";此.itemsIndex“;格式/语法

Javascript:";此.itemsIndex“;格式/语法,javascript,Javascript,免责声明:这是个人学习练习,但与任何作业无关;我目前甚至没有参加任何语言的编程课程。我只是希望更彻底地学习Javascript以促进个人成长 我正在尝试编写一个页面,使用现有页面作为框架。我在努力理解 现有的代码,所以我可以适应 有关现行守则: function = Page() { this.items = new Array(20); this.itemsIndex = 0; } 问题: 我理解第一行和第三行(函数和新数组(20)),但不熟悉“this.itemsIndex=0”的

免责声明:这是个人学习练习,但与任何作业无关;我目前甚至没有参加任何语言的编程课程。我只是希望更彻底地学习Javascript以促进个人成长

我正在尝试编写一个页面,使用现有页面作为框架。我在努力理解 现有的代码,所以我可以适应

有关现行守则:

function = Page()
{
  this.items = new Array(20);
  this.itemsIndex = 0;
}
问题: 我理解第一行和第三行(函数和新数组(20)),但不熟悉“this.itemsIndex=0”的语法和用途。到目前为止,谷歌搜索一直让我失望,而我所知的这一语法却从未涉及到贫乏的学习资源(书籍和在线教程)

有谁能帮我找到一个现有的资源,向一个新的(但不是完全不熟悉的)OOP的人解释这一点?除此之外,有人能在这里解释一下吗

function Page()
{
  this.items = new Array(20);
  this.itemsIndex = 0;
}
按照惯例,打算作为构造函数调用的函数(即使用new关键字)以大写字母开头。body也表示构造函数,因此函数的调用方式如下:

var page = new Page();
当使用new调用时,函数的this被设置为一个新对象,该对象是由new object()创建的,其私有的
[[Prototype]]]
属性引用构造函数的公共Prototype属性。这个新对象是页面的“实例”

所以

创建新对象的items属性,并将其长度设置为20,然后

this.itemsIndex = 0;
创建新对象的itemsIndex属性并为其指定值0。由于函数不返回任何内容,因此默认情况下它将返回新对象(使用new调用的函数必须返回一个对象)


itemsIndex
只是一个属性名,在JavaScript中没有任何特殊意义。此外,使用
Array(number)
创建一个给定大小的数组,这在现代JS中几乎从来都不是你需要/想要做的。你只需了解
这个
在JS中的含义。
function=Page()
typo?你可能想了解一下这一点,你可能会感兴趣:因此我从中了解到itemsIndex(我理解“this”关键字)是原作者命名的特定键。如果是这样的话,因为我是以自己的方式写作的,我可以放心地忽略特定的名称chosene。
this.itemsIndex = 0;
alert(page.items.length); // 20

alert(page.itemsIndex);   // 0

alert(page.items[0]);     // undefined since nothing has been assigned