Организация списков в JQuery 
Автор: Evgeny Sergeev
Анализируя библиотеку JQuery, наткнулся на забавный способ организации списков на базе массивов, выглядит это примерно так:
[].push.apply(this, [a])
или другая запись:
Array().push.apply(this, [a])
Ничего особенного вроде нет, создается массив и добавляется элемент в контексте текущего класса (указатель this). Но, ИМХО, очень изящно. Кстати вариант Array.push.apply(this, [a]) не сработает, так как тут не создается экземпляр массива.
Ну и на последок примерчик кода:
function Stack() { }
Stack.prototype = {
add : function(a){ [].push.apply(this, [a]); },
get : function(){ alert([].pop.apply(this)); }
}
v = new Stack();
v.add(’Значение 1′);
v.add(’Значение 2′);
v.get(); v.get();
подписаться на блог
Leave a Reply