Можно ли переопределить массив или объект Javascript для вызова?

Я хочу выяснить, можно ли заменить Array [] и Object [] на Array () и Object (). Можно ли вставить прототип функции в массивы или цепочку прототипов объектов, чтобы сделать их вызываемыми. В основном я ищу что-то вроде этого:

// some magic with prototypes
????????????????

a = [1, 3, 4]
b = [1, 3, 4]

console.log(a[1]) // prints 3
console.log(b(1)) // prints 3

a[0] = -1
// same as
b(0, -1)

console.log(a[1], b(1)) // prints -1 -1

Большое спасибо!

8
задан Rob W 27 December 2011 в 15:53
поделиться