Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопросы по оптимизации (https://javascript.ru/forum/misc/4051-voprosy-po-optimizacii.html)

Kolyaj 18.06.2009 10:58

Цитата:

Сообщение от Riim
Для некоторых видимо не причем.

К чему эти уклончивые понты? Объясните дураку.

Я специально не взял в цитату слово производительность, а привел более удобную в данном случае запись.


hp5741,
в данном случае получится то же самое, но var всегда лучше писать. И window лишний.

Riim 18.06.2009 10:59

Цитата:

Сообщение от Kolyaj
К чему эти уклончивые понты? Объясните дураку.

Kolyaj,
Странно, раньше в ТС вроде вместо "dom_link = document.getElementById('mydiv');" было "dom_link = document.getElementById" .
Вот я и подумал, что ТС, просто хочет сократить запись конструкции document.getElementById . Потому и туплю. В таком случае this здесь действительно не причем.

Цитата:

Сообщение от Kolyaj
Я специально не взял в цитату слово производительность, а привел более удобную в данном случае запись.

Тогда согласен. Так действительно удобней.

Kolyaj 18.06.2009 11:02

Riim,
понятно.

hp5741 18.06.2009 12:42

Просто после твоего поста прочитал про window и там было написано что сначало js ищет переменную в локальной области видимости потом в ниже лежащей и так пока не найдет так что если много вложений функций то будет галяк по этому и window как я понял
var array1 = [1,2,3];
var array2 = [4,5,6];
function set_array() {
....
var g = i == 1 ? window.array1 : window.array2;
alert(g[0]);
}

hp5741 01.07.2009 13:20

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

бл@ тут косяк при использовании window.array1 идет обращение к DOM а это накладно.

Kolyaj 01.07.2009 14:55

Во-первых, без запятых ваше сообщение не сразу допрешь, как читать. Во-вторых, window -- это не DOM.

Dmitry A. Soshnikov 01.07.2009 16:06

Цитата:

Сообщение от hp5741
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]); }

если array1 и array2 - глобальные, то можно получить через window:

var g = window['array' + i];


естественно, переменная i должна быть 1 или 2 в данном случае.

hp5741 01.07.2009 22:53

var g = window['array' + i];

а где про такие конструкции по подробней узнать можно?

x-yuri 02.07.2009 15:20

http://javascript.ru/ecma/part11#a-11.2.1


Часовой пояс GMT +3, время: 06:38.