Цитата:
Цитата:
var test = {}; test[0] = "a"; test[1] = "bb"; test[2] = "ccc"; test.length = 2; alert( Array.prototype.slice.call( test, 0 ) ); |
Если уж извращаться - то можно эмулировать геттером, они вроде в ие 9+ поддерживаются уже. Примерно так, если не думать об оптимизации):
var test = { get length(){ var j = 0; for(var i in this)if(!isNaN(i) && i > j) j = +i ; return j+1 } }; test[0] = "a"; test[1] = "bb"; test[25] = "ccc"; alert(test.length) alert( Array.prototype.slice.call( test, 0 ) ); |
Aetae,
Только функция должна быть чуть посложнее - нужно отсекать дробные числа, слишком большие числа, и много чего еще: var test = { get length(){ var j = 0; for(var i in this)if(!isNaN(i) && i > j) j = +i ; return j+1 } }; test[0] = "a"; test[1] = "bb"; test[1e100] = "ccc"; var test2 = []; test2[0] = "a"; test2[1] = "bb"; test2[1e100] = "ccc"; alert( test.length + " | " + test2.length ); |
недавно плагин жукверевский к Zepto подключал. Ой намучался :)
по теме: я вижу только такое решение var box = { method: function() { alert( 1 ) } }; var arr = []; arr.method = box.method; arr.method(); В данном случае просто устанавливаются ссылки на функцию. Т.е. функция не создается заново каждый раз. p.s.: тред особо не читал |
Цитата:
могу еще вариант предложить с аппедиксом :D var arr = []; arr.some = {}; // тут твой мега объект, в нем ссылка на родителя (arr) но это все через ж*пу и проще сделать нормальный объект |
nerv_, видимо больше ничего не остается. Тут чел то же самое предлагает: https://github.com/madrobby/zepto/pu...mment-15571557
Цитата:
|
Цитата:
<script> $el = $('.el'); </script> <script src="plugin.js"></script> <script> $el.plugin() // без прототипа - беда! </script> |
Цитата:
я не понял зачем тебе тема с прототипом, т.к. плагины для зепто пишутся также как и для жуквери: $.fn.some = function() { почему намучался. зепто не полностью совместим с жуквери. В частности, когда я подключал плагин-шаблонизатор к зепто, мне пришлось лезть в код этого плагина - раз, два - дописывать для зепто и подключать плагин, эмулирующий метод жуквери, кот. нет в зепто |
Нужно пофиксить коллекции zepto и дописать $.prototype = $.fn. Тогда останутся только проблемы отсутствия методов, которые легко решить и проблема расширенных селекторов, от которых народ нужно отучать.
Хотя есть и другие проблемы.. Тот же data(), который полноценен только через модуль. Есть и другие проблемы.. Тут циклическая зависимость - зепто не используют в качестве замены jQuery => его особенности не принимают во внимание => зепто не используют... |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 04:53. |