ссылка на свойство объекта, до его объявления
Здравствуйте, помогите решить задачку. Нужно передать ссылку на свойство объекта до его объявления...но сейчас получаю ошибку Uncaught TypeError: Cannot read property 'width' of undefined
ясно-понятно, что оно его не может найти, как выйти из положения...порядок выполнения важно соблюдать такой
test({
width: cycle.width
});
window.cycle = {width:150};
function test(obj) {
console.log(obj.width); // тут нужно получить 150
}
|
Здравствуйте, помогите решить задачку. Я хочу поесть суп до того, как его приготовлю...но сейчас когда сую ложку в пустую кастрюлю я никак не могу наесться. Ясно-понятно, что в кастрюле нет супа, как выйти из положения...порядок выполнения важно соблюдать такой
|
Немного не так...я хочу поесть супа, но сунуть ложку в кастрюлю не нужно, в том то и дело) захотел поесть супа, но я знаю где он будет после того, как приготовлю...запомнил, что он будет в кастрюле) приготовил....вспомнил, что я его хотел есть и где он лежит...поел
|
Цитата:
может как то так:
test({
width: function(){if(window.cycle) return window.cycle.width}
});
window.cycle = {width:150};
function test(obj) {
setTimeout(function(){if(obj.width()) return console.log(obj.width()) ; test(obj)}, 100) // тут нужно получить 150
}
? |
:D как вариант) спасибо за пример
|
Передавать не ссылку а строку. с помощью try catch и eval получать значение:
myObj = {a:1,b:2}
function getVal(val) {
try {
var ev = eval(value);
return ev != void(0) ? ev : '';
}
catch(e) {
return 'Error';
}
}
getVal('myObj.somevalue');// пустая строка
getVal('myObj.a');// 1
|
это вариант, спасибо..но это очень медленный вариант, я думаю в моем случае решают события
|
| Часовой пояс GMT +3, время: 05:53. |