2017-05-07 24 views
2

我通过“JavaScript & jQuery”通过John Duckett(俄文翻译)的书学习JavaScript。使用item()方法获取数组项目是不可能的?

作者写道数组项得到的两个代码示例:

var colors = ["white", "black","custom"]; 
var el = document.getElementById('colors'); 
el.textContent = colors[0]; 

var colors = new Array("white", "black","custom"); 
var el = document.getElementById('colors'); 
el.innerHTML = colors.item(0); 

在他wrotes,用来获取数组项的可用于item()方法的制品。但是在代码源中,他在第二个变体中使用colors[0]而不是colors.item(0)。我发现colors.item(0)不起作用。它是错误的信息?

回答

2

JavaScript数组是特定的对象,它们具有特定的行为和特定的一组方法。 .item()不是其中之一。

还有许多其他JavaScript对象也包含一组值。 这些对象的一些包括.item()方法。

事情是,即使这些对象可能与数组有一些相似之处在于它们包含一组值,但它们并不相同。数组,有一些功能,而这些其他对象有其他一些功能。

要详细了解JavaScript数组有,你可以看看:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

原则上,将有可能通过向阵列原型的.item()方法添加到阵列。但是,它当然不是JavaScript数组的自然部分。

编辑

一个数组的重要特性是它是如何被访问:你可以阅读,更换或创建使用方括号([])的项目。非数组集合不具备此功能,因此需要使用专用方法访问这些项目。

另一个重要的属性是.length属性会自动更新。

+0

+1。也许增加'array'不需要'item'方法,因为它们有专用的语法。 Java思维让我难过。 –

1

是的,它在书中看起来像一个错误。 Array类没有item方法。 colors[i]应该用于获取指定索引处的元素。

相关问题