Сообщение от hp5741
|
в начале скрипта создать переменную с глобальной областью видимости и потом использовать внутри функций?
|
Сообщение от hp5741
|
или в каждой функции создавать новый var с ссылкой
|
Распространенная ошибка. Запись "var dom_link = document.getElementById;", равносильна записи "window.dom_link = document.getElementById;"
Внутри метода, this, ссылается на область, из которой он (метод) вызывается. Теперь this будет ссылаться не на document, а на window. Если при этом, внутри метода, this как-либо используется, то метод может сработать не верно. Если нужно сократить запись, то лучше так:
var $d = document;
$d.byId = $d.getElementById;
Теперь вместо document.getElementById можно писать $d.byId .
Так же хороший вариант создать функцию:
var $ = function(elem/* id */) {
return typeof elem == 'string' ? document.getElementById(elem) : elem;
};
Сообщение от hp5741
|
как правильно это сделать с стороны производительности
|
Со стороны производительности лучше вот это:
array1 = [];
array2 = [];
array1.push(1,2,3);
array2.push(4,5,6);
заменить на:
array1 = [1, 2, 3];
array2 = [4, 5, 6];
И var-ы где надо добавить. Остальное нормально.