Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Строковый литерал в переменную (https://javascript.ru/forum/events/3526-strokovyjj-literal-v-peremennuyu.html)

percilacus 04.05.2009 16:31

На моем сайте используецоо!
http://percilacus.narod.ru/

Kolyaj 04.05.2009 16:46

function create() {
    for (var i = 0; i < arguments.length; i++) {
        new Image().src = 'Images/' + arguments[i] + '.gif';
    }
}
create('SoapRed', 'SoapGreen', 'HomeRed', 'HomeGreen');

percilacus 04.05.2009 17:09

Kolyaj, так не работает!
Да и в принципе не может работать

Kolyaj 04.05.2009 17:18

Цитата:

Сообщение от percilacus
Да и в принципе не может работать

Это почему это?

x-yuri 04.05.2009 23:33

Цитата:

x-yuri,
только непонятно, зачем такое создание картинок нужно, если они потом нигде не используются. Кэширование разве что
просто для какого-нибудь rollover'а или ты имеешь в виду, что нужно пользоваться каким-нибудь replaceChild, чтобы браузер не делал запрос на сервер?

percilacus 06.05.2009 20:46

Цитата:

Сообщение от Kolyaj
Да и в принципе не может работать

Потому что создано свойство src, а сам объект то не создан.
А вот так работает. Мне даже так больше нравится:
function create() {
    for (var i = 0; i < arguments.length; i++) {
window [arguments[i]] = new Image();
window [arguments[i]].src = 'Images/' + arguments[i] + '.gif';
    }
}
create('SoapRed', 'SoapGreen', 'HomeRed', 'HomeGreen');

Kolyaj 06.05.2009 20:55

Цитата:

Сообщение от percilacus
Потому что создано свойство src, а сам объект то не создан.

А свойство какого объекта создано?

twolf 07.05.2009 14:04

Kolyaj,
а после new Image().src = ....
искать свойство src в document.images ?

Kolyaj 07.05.2009 14:21

А оно нигде потом и не ищется. Я не тестировал кэширование подобным образом, так что очень даже может быть, что не работает. Хотя в случае ТС я смутно представляю, как он тестирует работоспособность. А вот если нужно отправить какие-то данные на сервер, то такой подход прекрасно работает.


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