2014-02-10 4 views
1

몇 가지 간단한 코드가 있습니다. 문제는 내가 직면하고있는 것은 문자열이 var text에 추가되는 모든 행에서 내가 추가하려는 데이터가 실제로 정의되어 있는지 확인하고 싶기 때문에 코드가 매우 깨끗한 것을 볼 수 있다는 것입니다. 이제 더 깨끗하게 쓸 수있는 방법을 알고 싶습니다.코드 중복 제거

text += (data.handy)? '<br><strong>Handy: ' + data.handy + '</strong><br>' : ''; 

이이 속기입니다 : 감사

var text = '<br><address><strong>' + data.vorname + ' ' + data.name + '</strong><br>'; 
if(data.strasse != null && data.strasse != ''){ 
    text += data.strasse + '<br>' + data.plz + ', ' + data.wohnort ; 
}if(data.telefon != null && data.telefon != ''){ 
    text += '<br><strong>Tel: ' + data.telefon + '</strong>'; 
} 
    text += '<br><strong>Handy: ' + data.handy + '</strong><br>'; 
    text += '<a href="mailto:#">' + data.mail; 
    text += '</a></address><address><strong>GEB: </strong>'; 
    text += Data.datum(data.geburtsdatum) + '<br>'; 
    text += data.gewicht + '<strong> GK'; 
    ........ 
+0

가능한 복제본 : http://stackoverflow.com/questions/7987027/how-to-write-readable-javascript – Sneagan

+0

전달 된 변수가 정의되어 있고 null이 아닌지 확인하는 도우미 함수를 만들 수 있습니다. 비어 있지 않습니다. –

답변

1

이처럼 라인을 다시 할 수 data.handy가 정의되지 않은 경우,

if (data.handy) { 

     text += '<br><strong>Handy: ' + data.handy + '</strong><br>'; 

    } else { 

     text += ''; 
    } 

그 방법 또는 아무 것도 널 (null)입니다 text에 추가됩니다.

+0

그러나 data.handy가 빈 문자열이면 추가 텍스트가됩니다. –

+0

조건이 명확하지 않습니다. 데이터가 방금 정의되어야 할 경우를 대비하여 (data.handy && data.handy.length) 될 수 있습니다 (OPTION). ; 나는 코드가 현재 어떻게 쓰여져 있는지에 기초하여 질문에 대답하고 있는데, 당신이 설명하고있는 부작용도있다. – frenchie

+0

어렵지 않으려 고하지만 OP의 코드에서 빈 문자열을 확인합니다. if (data.strasse! = null && data.strasse! = '') { –