В общем, если я тебя правильно понял, тебе нужна вот такая вот параша
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:24. |