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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章