免责声明:这是个人学习练习,但这与任何学业无关;我目前甚至没有参加任何语言的编程课程。我只是希望能更彻底地学习Javascript以促进个人成长。
我正在尝试编写一个页面,使用现有的页面作为框架。我想了解一下 现有代码,所以我可以适应
相关现有守则:
function = Page()
{
this.items = new Array(20);
this.itemsIndex = 0;
}
问题: 我理解第一行和第三行(函数和新的Array(20)),但我不熟悉“this.itemsIndex = 0”的语法和目的。到目前为止,谷歌搜索已经失败了,微薄的学习资源(书籍和在线教程)从未触及我所知道的这种语法。
任何人都可以帮我找到一个现有的资源,向OOP的新人(但并非完全不熟悉)解释这个问题吗?除此之外,有人可以在这里解释一下吗?
答案 0 :(得分:2)
假设:
function Page()
{
this.items = new Array(20);
this.itemsIndex = 0;
}
这是一个惯例,旨在被称为构造函数的函数(即使用 new 关键字)以大写字母开头。 body也表示构造函数,因此应该调用函数:
var page = new Page();
当使用 new 调用时,函数的 this 被设置为一个新对象,就像 new Object()一样,它的私有{ {1}}属性引用构造函数的公共 prototype 属性。这个新对象是 Page 的“实例”。
所以
[[Prototype]]
创建新对象的 items 属性,并为其指定长度为20,
this.items = new Array(20);
创建新对象的 itemsIndex 属性并为其赋值0.由于该函数不返回任何内容,它将默认返回新对象(使用 new调用的函数必须返回一个对象。)
this.itemsIndex = 0;