首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript:"this.itemsIndex“格式/语法

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

Stack Overflow用户
提问于 2013-12-19 23:58:13
回答 1查看 33关注 0票数 1

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

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

有关现行守则:

代码语言:javascript
复制
function = Page()
{
  this.items = new Array(20);
  this.itemsIndex = 0;
}

问:我理解第一行和第三行(函数和新数组(20)),但我不熟悉"this.itemsIndex = 0“的语法和用途。到目前为止,谷歌搜索已经让我失望了,学习资源(书籍和在线教程)也没有触及到我所知道的这种语法。

有人能帮我找到一个现有的资源来解释这一点,一个新的(但不是完全陌生的)与OOP?如果没有人能在这里解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-20 00:14:23

给予:

代码语言:javascript
复制
function Page()
{
  this.items = new Array(20);
  this.itemsIndex = 0;
}

这是一个惯例,函数的目的是作为构造函数(即用新关键字)以大写字母开头。主体也指示一个构造函数,因此函数应该被调用如下:

代码语言:javascript
复制
var page = new Page();

当使用new调用时,函数的--它被设置为新对象()创建的新对象,它的私有[[Prototype]]属性引用构造函数的公共原型属性。这个新对象是Page的“实例”。

所以

代码语言:javascript
复制
this.items = new Array(20);

创建新对象的items属性,使其长度为20,并且

代码语言:javascript
复制
this.itemsIndex = 0;

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

代码语言:javascript
复制
alert(page.items.length); // 20

alert(page.itemsIndex);   // 0

alert(page.items[0]);     // undefined since nothing has been assigned
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20693994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档