Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.04.2009, 21:56
Новичок на форуме
Отправить личное сообщение для percilacus Посмотреть профиль Найти все сообщения от percilacus
 
Регистрация: 29.04.2009
Сообщений: 9

Строковый литерал в переменную
Здравствуйте, господа форумчане!
Заморочился я на одном скрипте. Проблема упирается в то,
чтобы строку сделать переменной, т.е.
var x = "_string"
а потом то что в кавычках чтобы стало переменной, т.е.
_string = .....
Чтобы стало яснее вот неработающий скрипт для предварительной подгрузки изображений:
Код:
<SCRIPT>
function create (obj) {
eval(obj) = new Image();
eval(obj + ".src") = "Images/" + obj + ".gif" }

create ("SoapRed"); create("SoapGreen");.....
</SCRIPT>
Вставкой eval мной делается попытка превратить строку "SoapRed" в переменную SoapRed
Ответить с цитированием
  #2 (permalink)  
Старый 29.04.2009, 22:34
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от percilacus
Вставкой eval мной делается попытка превратить строку "SoapRed" в переменную SoapRed
Зачем?
Ответить с цитированием
  #3 (permalink)  
Старый 30.04.2009, 00:13
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

window[obj]
Ответить с цитированием
  #4 (permalink)  
Старый 30.04.2009, 01:21
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

да и вообще, зачем они в глобальной области видимости
Ответить с цитированием
  #5 (permalink)  
Старый 30.04.2009, 12:34
Новичок на форуме
Отправить личное сообщение для percilacus Посмотреть профиль Найти все сообщения от percilacus
 
Регистрация: 29.04.2009
Сообщений: 9

Сообщение от Gvozd Посмотреть сообщение
window[obj]
О, спасибо!
Скрипт работает.
Код:
function create (obj) {
window [obj] = new Image();
window [obj].src = "Images/" + obj + ".gif" }

create ("SoapRed"); create ("SoapGreen")
Я так понял идея заключается в том, то свойства объекта могут быть представлены в строками в массиве, где каждый элемент массива суть свойство в строковой интерпретации.
Отличный изящный скрипт у нас с вами получился для предварительной подгрузки изображений
Ответить с цитированием
  #6 (permalink)  
Старый 30.04.2009, 13:03
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от percilacus
Отличный изящный скрипт у нас с вами получился для предварительной подгрузки изображений
Больше никому об этом не рассказывай.
Ответить с цитированием
  #7 (permalink)  
Старый 30.04.2009, 14:11
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kolyaj
ольше никому об этом не рассказывай.

+1
Ответить с цитированием
  #8 (permalink)  
Старый 02.05.2009, 18:20
Новичок на форуме
Отправить личное сообщение для percilacus Посмотреть профиль Найти все сообщения от percilacus
 
Регистрация: 29.04.2009
Сообщений: 9

Или окончательно:
Код:
function create (obj) {
for (i=0; i < obj.length; ++i) {
window [obj[i]] = new Image();
window [obj[i]].src = "Images/" + obj[i] + ".gif" }
}
create (["SoapRed", "SoapGreen", "HomeRed", "HomeGreen"])
Ответить с цитированием
  #9 (permalink)  
Старый 04.05.2009, 01:59
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

я бы предложил
function create() {

    var imgs = [];
    for( var i=0; i<arguments.length; i++ ) {
        imgs[i] = new Image();
        imgs[i].src ='Images/' + arguments[i] + '.gif';
    }
}
create ( 'SoapRed', 'SoapGreen', 'HomeRed', 'HomeGreen' );
Ответить с цитированием
  #10 (permalink)  
Старый 04.05.2009, 12:09
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

x-yuri,
только непонятно, зачем такое создание картинок нужно, если они потом нигде не используются. Кэширование разве что.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать локальную переменную глобальной?? Дмитрий Общие вопросы Javascript 8 02.11.2010 03:33
Строковый параметр функции со спецсимволами JooZ Общие вопросы Javascript 6 09.04.2009 16:18
Можно ли как-то условие match() через переменную использовать? Tend Общие вопросы Javascript 1 16.03.2009 18:52
переменную в title object Общие вопросы Javascript 1 25.09.2008 09:27
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58