js:js和php中的关联数组和索引数组

不知道你有没有这样的疑问,在 js 里对象的表示是这样的:

var obj = {}
obj.a = 1

但是在 PHP 中却是叫关联数组:

<?php  
//创建一个关联数组,关联数组的键“orange”,值是“橘子”  
$fruit=array('orange'=>'橘子');  
echo $fruit['orange'];  
?> 

而 PHP 中的对象指的是:
要创建一个新的对象 object,使用 new 语句实例化一个类

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo."; 
    }
}

$bar = new foo;
$bar->do_foo();
?>

$bar 就是对象

揭开谜底

先看看关联数组的定义:
“关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。
JavaScript的对象本质就是一个关联数组。
一般面向对象语言中的对象是指的通过 new 语句实例化一个类得到的对象,js 中的对象其实和其他语言的关联数组是一个东西。

当然,在 js 里也可以实现一个关联数组,毕竟 js 里万物皆是对象,数组也是对象。

let arr = []
arr.a = 1
console.log(arr) // [a:1]
// 获取 a
console.log(arr.a) // 1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章