Показать сообщение отдельно
  #1 (permalink)  
Старый 18.06.2009, 07:54
Аспирант
Отправить личное сообщение для hp5741 Посмотреть профиль Найти все сообщения от hp5741
 
Регистрация: 22.04.2009
Сообщений: 34

Вопросы по оптимизации
Здравствуйте.
1. Возник вопрос если я выполняю get_array(array); то передается сам массив или ссылка на него?
var array = [1,2,3];
function get_array(a) {
    alert(a[0]);
}
get_array(array);

ответ: По ссылке
2. Как мне лучше использовать document.getElementById();?
в начале скрипта создать переменную с глобальной областью видимости и потом использовать внутри функций?
dom_link = document.getElementById('mydiv');
function my_alert() {
     alert(dom_link.width);
}
function my_alert2() {
     alert(dom_link.height);
}

или в каждой функции создавать новый var с ссылкой или может есть какий то другой варианты?
ответ:
var dom_link = document.getElementById('mydiv');
function my_alert() {
     alert(dom_link.width);
}

3.Есть 2 массива и в функции нужно выбрать какой использовать, не понимаю как правильно это сделать с стороны производительности ?
array1 = [];
array2 = [];
array1.push(1,2,3);
array2.push(4,5,6);
function set_array() {
....
if(i == 1) {
    var g = array1;
}else{
    var g = array2;
}
alert(g[0]);
}

ответ:
var array1 = [1,2,3];
var array2 = [4,5,6];
function set_array() {
....
var g = i == 1 ? array1 : array2;
alert(g[0]);
}

Заранее благодарю тех кто поможет.

Большой Респект за:

var $d = document;
$d.byId = $d.getElementById;

var $ = function(elem/* id */) {
    return typeof elem == 'string' ? document.getElementById(elem) : elem;
};

var g = i == 1 ? array1 : array2;

Последний раз редактировалось hp5741, 01.07.2009 в 13:24.
Ответить с цитированием