__defineGetter__ в массивах в JavaScript
Метод __defineGetter__ предназначался в ДжаваСкрипте
Я тут подумал — можно ли
Array.prototype.__defineGetter__('0', function() {return 1});
var v = [];
alert(v); // выводит пустой массив
alert(v[0]); // выведет единицуТакой код из разряда «happy debugging, bitch», ломает голову — массив пустой, но нулевой элемент не пуст.
Большие возможности для внедрения, кстати, в приватный код, который спрятан за замыканием — можно ведь и сеттер так же определить и считывать состояния
Комментарии 11
Array.prototype.__defineGetter__('0', function() {return 1});
var v = [];
v.length = 1;
alert(v); // выводит единицу
Надо будет на собеседование
Не Яваскрипт, а ДжаваСкрипт. Не Фаерфокс, а Фаэрфокс. Не Опера, а «Опера».
Комментарий для greli.livejournal.com:
Какой же это баг? Инструкцию внизу ↓↓↓ внимательно прочтите.
Пока ещё не написано
Именно потому, что это не лиса, название и пишется в одно слово: Firefox, а не FireFox :)