不知道你有沒有這樣的疑問,在 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