我是Javascript的初学者并学习这些概念。我在学习过程中遇到了以下代码片段。
<script>
var data=[];
data.push("100");
data.push(100);
var object=[];
object.string="100";
object.number=100;
data.push(object);
console.log(data);
</script>
上面的代码片段定义了一个Array,并将String,Number和Object推入其中。我认为这违反了数组的定义,其内容如下:
Array是一个容器,可以容纳固定数量的项目和这些项目 项目应为相同类型。
我想知道数组是否是在这种情况下使用的正确术语,因为元素的类型不同。
答案 0 :(得分:1)
您理解/读取它们不正确(如果是javascript)。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
数组是类似列表的对象,其原型具有执行遍历和变异操作的方法。 JavaScript数组的长度及其元素的类型都不固定。
是的,这个定义纯粹是为了Javascript。例如:Java数组严格基于类型。
答案 1 :(得分:0)
&#34;应该是&#34;这里很可能是指逻辑同构集合比异构集合更容易处理的事实。如果你有一组数字,你可以进行汇总操作,比如容易求和;如果你有各种各样的东西,你需要逐个挑选它,并且不能轻易地做任何事情。这往往是一个结构糟糕的计划的标志。
为什么集合必须是同构的,没有技术上的理由,特别是在像Javascript这样的动态类型语言中(在静态类型语言中更是如此)。