В общем, если я тебя правильно понял, тебе нужна вот такая вот параша
check=function(object, name){
return name in object&&object[name]!== undefined&&object[name]!==""
}
object={real: {}, emptyString: ""}
alert([
check(object, "emptyString"),
check(object, "undef"),
check(object, "real")
]
)
|
Слушай я уже до самого простого упростил вопрос
Слушай. Я же уже до простого упростил вопрос, забудь то что выше, если не понятно. Объясни следующее.
//Как получается
If (typeof obj1 !=’undefined’){
If (typeof obj1.obj2 !=’undefined’){
If (typeof obj1.obj2.obj3 !=’undefined’){
var value= obj1.obj2.obj3[0]
}
}
}
//Нужно что-то вроде этого, но без остановки скрипта по ошибкам вроде:
//obj1 - undefined
//obj1.obj2 - undefinded
If (typeof obj1.obj2.obj3 !=’undefined’){
var value= obj1.obj2.obj3[0]
}
Что касается full_null эта функция пользовательская, мне нужно чтобы значение не было пустым |
вот так попробуй
if(window.obj1&&obj1.obj2&&obj1.obj2.obj3&&obj1.obj2.obj3!==undefined) somecode |
vuler,
А вообще, тебе проще оборачивать в try. Но что-то у тебя явно там не так. В нормальном коде едва ли такое может понадобиться. |
для начала скажите чему равен
console.log(this.form.rulers.format):) я так понял у вас ошибка в "this", попробуйте использувать напрямую нужную вам переменную) |
Цитата:
нет, тут наверное никак, если массива нету выдаст ошибку(так и есть) можно попробывать так
function full_null(elem){//Проверка на полный ноль. отстутсвие или несуществование.
if (elem=='undefined' || elem==null || elem==""){
return true;
}else return false;
}
if (full_null(this.form.rulers.format) && full_null(this.form.rulers.format[this.name]))
this.rulers.format=this.form.rulers.format[this.name];
|
Цитата:
|
Цитата:
В php все проще. if ($rrrr->ssss->form_rulersq['sss']) { echo 'тут'; }else{ echo 'там'; } Например этот код пройдет легко. php плевать на то что объекта rrrr не существует, что в нем не существует объект ssss, что в объекте ssss нет массива form_rulersq и т.д. просто выдаст условие else и продолжит работу. А js начинает проверять существование всей этой цепочки |
Цитата:
undefined.foo любой нормальный язык в этом случае по дефолту отдаст ошибку. Я хз, что там у вас в похапе.за идиотизм, скорей всего просто сахар. |
Цитата:
|
| Часовой пояс GMT +3, время: 16:52. |