gpt4 book ai didi

Javascript: "this.itemsIndex"格式/语法

转载 作者:行者123 更新时间:2023-11-30 17:42:58 25 4
gpt4 key购买 nike

免责声明:这是个人学习练习,与任何功课无关;我目前甚至没有参加任何语言的编程类(class)。我只是希望为了个人成长更彻底地学习 Javascript。

我正在尝试使用现有页面作为框架来编写一个页面。我试着去了解现有代码,以便我可以适应

相关现有代码:

function = Page()
{
this.items = new Array(20);
this.itemsIndex = 0;
}

问题:第一行和第三行(function 和 new Array(20))我看得懂,但是我不熟悉“this.itemsIndex = 0”的语法和目的。到目前为止,谷歌搜索让我失望了,而且微薄的学习资源(书籍和在线教程)从未触及我所知道的这种语法。

任何人都可以帮我找到一个现有的资源来向 OOP 的新手(但并非完全不熟悉)解释这一点吗?除此之外,有人可以在这里解释一下吗?

最佳答案

给定:

function Page()
{
this.items = new Array(20);
this.itemsIndex = 0;
}

按照惯例,要作为构造函数调用的函数(即使用 new 关键字)以大写字母开头。主体也表示一个构造函数,因此函数应该这样调用:

var page = new Page();

当用 new 调用时,函数的 this 被设置为一个新对象,就像由 new Object() 创建的一样,它是私有(private)的 [[Prototype]] 属性引用构造函数的公共(public) prototype 属性。这个新对象是 Page 的“实例”。

所以

this.items = new Array(20);

为新对象创建一个 items 属性并给它一个 20 的长度,并且

this.itemsIndex = 0;

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

alert(page.items.length); // 20

alert(page.itemsIndex); // 0

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

关于Javascript: "this.itemsIndex"格式/语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20693994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com