ОП уже делает это. Ему просто не нравится изменять код, поскольку он исходит из другой библиотеки.

роблема была там в течение нескольких лет.

Я пишу некоторые плагины для движка Forum под названием Discuz, я использую много Mootools для своих собственных проектов. Когда я подключил Mootools к этому движку форума (discuz), все сошло с ума ...

После некоторой отладки в прошлом году я обнаружил, что проблема в том, что Mootools создает множество основных элементов, в том числе Array. И, с другой стороны, этот движок форума использует lof For (i in Array) Loop для 'array ». Что, безусловно, вызовет проблемы, потому что

for(i in [1,2,3,4,5]) console.log(i);  //0,1,2,3,4 the keys in this array 

**WITH MOOTOOLS
for(i in [1,2,3,4,5]) console.log(i);
//OUTPUT 0,1,2,3,4,$family,$constructor,pop,push,reverse,shift,sort,splice.......

В прошлый раз я использовал парсер, чтобы изменить цикл for (i in array), чтобы добавить 'if item.hasOwnProperty ()', чтобы пропустить эти прототипы. Но я думаю, что это очень плохой обходной путь, потому что вы знаете, вызываете больше проблем ... новые версии, исправляйте их коды ... и т. д.

Интересно, есть ли способ обойти эту проблему? не касаясь js-кода этого движка форума, а также использовать Mootools?

Я знаю, что использование For (.. in) для Array плохо, но мой вопрос в том, что я не хочу касаться кодов javascript этого движка форума, я просто хочу, чтобы решение перегрузило проблему

Ответы на вопрос(3)

Ваш ответ на вопрос