在PHP中,一個類可以實現了ArrayAccess接口,因此類可以等來實例化和訪問:Javascript中的對象可以像PHP中的ArrayAccess/ArrayObject一樣嗎?
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')
,因此它可以像數組而不是對象那樣工作,但仍然具有來自我的所有函數構造器(下一個,上一個,是,復位等)
我問這是因爲AngularJS,使用angular.element()
時,在Firebug的控制檯
所以你想要一個「數組」,可以通過鍵(像對象文字),仍然有數組方法?接下來是什麼,先行,是,重置等? – Ian 2013-04-25 01:32:26
是的。 next,prev,is,reset是類迭代器函數,我已經添加了一些信息爲什麼我要求在這個問題的底部 – pocesar 2013-04-25 01:35:07
所以,你已經有一個JavaScript類?如果是這樣,你可以展示它嗎? – Ian 2013-04-25 01:38:43