PHP では、クラスは ArrayAccess インターフェイスを実装できるため、次のようにクラスをインスタンス化してアクセスできます。
class MyClass implements ArrayAccess {
protected $data = array();
public function offsetGet($offset) {
return isset($this->data[$offset]) ? $data[$offset] : null;
}
public function offsetSet($offset, $value) {
$this->data[$offset] = $value;
}
public function __toString()
{
return print_r($this->data);
}
}
$a = new MyClass;
$a['item'] = 10;
$a['item2'] = 'adsf';
echo $a;
// Outputs Array( 'item' => 10, 'item2' => 'adsf' )
Javascriptでこのようなものはありますか?Javascript でイテレータ クラスを作成できるようにしたいのですが、get('item')
/を使用する代わりにブラケット表記を使用してアイテムにアクセスできるset('item2', 'asdf')
ため、オブジェクトではなく配列のように動作できますが、コンストラクター ( next、prev、is、reset など)
AngularJS を使用すると、firebug コンソールangular.element()
のようにオブジェクト (?) が返されるため、私はこれを求めていますObject [div.id1]