【发布时间】:2020-07-26 14:44:38
【问题描述】:
我正在寻找一种优雅的方式来理解 JavaScript 数组和对象。
我遇到了一个异常,我陷入了困境。 由于在 PHP 或其他语言中,当我们创建一个数组时,例如
$a = [
admin => 1,
staff => 2
];
所以如果我们想访问它的元素,我们可以通过例如$a[admin] 来访问它,我们会得到 1。
类似地,如果它是一个对象,例如
$a = (object) [];
$a->sadd = 'sas';
我们可以用箭头访问它
$a->sadd
如果我们尝试以数组样式访问对象元素,即像这样 $a['sadd'] 它将抛出错误,即您不能将其用作数组样式。
但我对 JavaScript 中的异常感到惊讶。
我观察到,在 JavaScript 中,无论我在做什么,数组或对象,两者的元素都可以通过点或数组样式访问,我发现访问样式没有区别。
例如
var a = {sadd : 1}
我可以通过a['sadd'] 或a.sadd 访问它的元素,两者都会给出1
所以我对这个异常感到困惑,想知道数组和对象这两种数据类型在 JavaScript 中是否被认为是相同的?
【问题讨论】:
-
不,它们显然不一样。他们只是使用类似的语法来访问他们的元素。
-
这正是 js 的工作原理。当属性名称
var a = {123 : 1, 'a b c': '2', 'a-b-c': ''}为a.1、a.a b c、a.a-b-c显然不起作用时,这是天赐之物 -
嗨,萨达姆,对象和数组在所有技术堆栈中的工作方式都是一样的。您应该检查面向对象的编程原理和其他内容。或者最好是在线学习 Javascript 课程。这将帮助您很好地理解 Javascript。在这里问这样的问题会吸引更多的反对票。 (PS:我没有投反对票:))
-
@Jimmy 我认为你错了对象和数组在所有技术中的工作方式都不相同,我还为你提供了示例,在 php 中你不能访问具有相同样式的数组元素。跨度>
-
@saddamkamal 请检查
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array它几乎没有您正在寻找的想法,
标签: javascript php