조건부 진술은 다른 조건에 따라 다른 동작을 수행하는 데 사용됩니다.
조건부 진술
일반적으로 코드를 작성할 때는 항상 다른 결정을 위해 다른 행동을 수행해야합니다. 코드에서 조건부 명세서를 사용 하여이 작업을 수행 할 수 있습니다.
JavaScript에서는 다음과 같은 조건부 진술을 사용할 수 있습니다.
• IF 명령문 - 지정된 조건이 참인 경우에만 코드를 실행하려면이 명령문을 사용합니다.
• IF ... ELSE 문 - 조건이 참이면 코드를 실행하고 조건이 False 일 때 다른 코드를 실행합니다.
• IF ... ELSE IF ... ELSE 명령문 -이 명령문을 사용하여 실행할 여러 코드 블록 중 하나를 선택하십시오.
• 스위치 명령문 -이 명령문을 사용하여 실행할 여러 코드 블록 중 하나를 선택하십시오.
IF 문
명령문은 지정된 조건이 true 인 경우에만 코드를 실행합니다.
문법
코드 사본은 다음과 같습니다.
if (조건)
{
조건이 참을 때 실행 된 코드 만
}
참고 : IF가 소문자를 사용하십시오. 대문자를 사용하여 (if) JavaScript 오류가 발생합니다!
예
시간이 20:00 미만인 경우 "좋은 날"인사말이 생성됩니다.
코드 사본은 다음과 같습니다.
if (시간 <20)
{
x = "좋은 날";
}
X의 결과는 다음과 같습니다.
안녕하세요
직접 시도하십시오
이 구문에는 없음이 있습니다.
만약 ... 다른 진술
if ... else 문을 사용하여 조건이 true 일 때 코드를 실행하고 조건이 false 일 때 다른 코드를 실행하십시오.
문법
코드 사본은 다음과 같습니다.
if (조건)
{
조건이 사실 일 때 실행 된 코드
}
또 다른
{
조건이 사실이 아닌 경우 코드가 실행됩니다
}
예
시간이 20:00 미만인 경우 "좋은 날"인사말을 얻게됩니다. 그렇지 않으면 인사말 "좋은 저녁"을 얻게됩니다.
코드 사본은 다음과 같습니다.
if (시간 <20)
{
x = "좋은 날";
}
또 다른
{
x = "좋은 저녁";
}
X의 결과는 다음과 같습니다.
안녕하세요
직접 시도하십시오
만약 ... else ... else 진술
IF ... ELSE IF ... ELSE 문을 사용하여 실행할 여러 코드 블록 중 하나를 선택하십시오.
문법
코드 사본은 다음과 같습니다.
if (조건 1)
{
조건 1이 사실 일 때 실행 된 코드
}
else if (조건 2)
{
조건 2가 사실 일 때 실행 된 코드
}
또 다른
{
조건 1이나 조건 2가 참을 때 실행 된 코드
}
예
시간이 10:00 미만인 경우 인사말 "좋은 아침"이 발송됩니다. 그렇지 않으면 시간이 20:00 미만인 경우 인사말 "좋은 하루"가 발송됩니다. 그렇지 않으면 인사말 "좋은 저녁"이 발송됩니다.
코드 사본은 다음과 같습니다.
if (시간 <10)
{
x = "좋은 아침";
}
else if (시간 <20)
{
x = "좋은 날";
}
또 다른
{
x = "좋은 저녁";
}
X의 결과는 다음과 같습니다.
좋은 아침이에요
JavaScript에서는 IF 조건으로 사용할 수있는 값
1. 부울 변수 true/false
2. 숫자는 0이 아니고 NAN/ (0 또는 NAN)가 아닙니다.
아래 예를보십시오. 음수가 거짓이라고 생각하지 마십시오.
코드 사본은 다음과 같습니다.
var i = -1;
if (i) {
경고 ( '여기');
}또 다른{
경고 ( '테스트는 괜찮다!');
}
3. 객체는 NULL/(NULL 또는 UNDEFINED)가 아닙니다.
4. String string nonequy string ( "")/빈 문자열 ( "")
요약하면 문자열의 경우 (str! = null && str! = undefined && str! = '')를 많이 쓸 필요가 없습니다. 하나의 문장을 사용하십시오.
코드 사본은 다음과 같습니다.
if (! str) {
// 무언가를합니다
}
그게 다야.
숫자가 아닌 숫자 판단의 경우 isnan () 함수 사용을 고려해야합니다. NAN은 자체를 포함한 모든 유형의 데이터와 같지 않으며 ISNAN ()에 의해서만 판단 될 수 있습니다. 숫자 유형의 경우, (a) 명령문이 0 인 경우, (a)가 false 인 경우, (a)가 0이 아닌 경우 (a)가 true 인 경우
코드 사본은 다음과 같습니다.
var b;
var a = 0;
a = a + b;
경우 (a) {
경고 ( '1');
}또 다른{
경고 ( '2');
}
if (isnan (a)) {
경고 ( 'a is nan');
}
JavaScript 튜토리얼 : 약어 인 경우 IF 명령문 최적화 메소드 정보
uglifyjs는 자바 스크립트를 압축하고 아름답게하는 도구입니다. 문서에서 IF 문을 최적화하는 몇 가지 방법을 보았습니다. 시험 테스트를 수행하는 데 사용하지는 않았지만 여기에서 JS를 아름답게한다는 것을 알 수 있습니다. 어떤 사람들은 진술이 그렇게 단순하면 얼마나 최적화 될 수 있다고 생각할 수도 있습니까? 그러나 다음 방법을 살펴보면 마음이 바뀔 수 있습니다.
1. 일반적인 삼여 작업자를 사용하십시오
if (foo) bar (); else baz (); ==> foo? bar () : baz ();
if (! foo) bar (); else baz (); ==> foo? baz () : bar ();
if (foo) return bar (); 그렇지 않으면 baz ()를 반환합니다. ==> return foo? bar () : baz ();
IF 문을 최적화하기 위해 위의 3 차 운영자를 사용하는 데 익숙해야하며 자주 사용할 수 있습니다.
wulin.com에서 제공 한 예 :
코드 사본은 다음과 같습니다.
<cript>
var i = 9
var II = (i> 8)? 100 : 9;
경고 (ii);
</스크립트>
출력 결과 :
100
2. 사용 및 (&&) 및 또는 (||) 연산자
if (foo) bar (); ==> foo && bar ();
if (! foo) bar (); ==> foo || bar ();
솔직히 말해서, 나는 이와 같은 코드를 작성한 적이 없습니다. 나는 "Bird Bird 's Linux Private Vegetable"을 공부할 때이 글쓰기 방법을 보았지만 JS에서는 구현할 것으로 기대하지 않았습니다.
3. 곱슬 버팀대를 생략 {}
if (foo) return bar (); 그렇지 않으면 무언가 (); ==> {if (foo) return bar (); 무엇()}
이 글쓰기 방법에 익숙하지만 코드를 최적화하거나 UglifyJS에 맡겨서 해결하는 데 도움이 될 때이 작업을 수행하는 것이 좋습니다. 결국, 하나의 버팀대가 없으면 코드를 읽을 수 없습니다.
이것을 썼을 때, 나는 jQuery의 아버지가 "마스터 링 자바 스크립트"에서 HTML 요소의 속성을 얻는 방법을 생각합니다.
함수 getAttr (el, attrname) {
var attr = { 'for': 'htmlfor', 'class': 'classname'} [attrname] || attrname;
};
우리가 이런 식으로 쓰지 않으면, 우리는 그것을 처리하기 위해 두 개의 if 문을 사용해야 할 수도 있으며, 위의 코드는 간결하고 효과적 일뿐 만 아니라 읽기 쉽습니다.
당신이 그것에 대해 신중하게 생각한다면, 우리는 많은 경우 문제를 해결하는 효과적인 방법을 찾을 수 있지만, 핵심은 더 나은 방법을 찾기 위해주의를 기울이는 지 여부입니다.
【JavaScript 기술】 약어 if (x == null)
if (x == null) 또는 if (typeof (x) == 'undefined')는 마치 (! x)처럼 약칭 할 수 있으며 확인되지 않습니다.
반대로, (x)가 x가 비어 있지 않다는 것을 의미합니다
객체가 존재하는지 확인하십시오
코드 사본은 다음과 같습니다.
if (document.form1.softurl9) {
// JS 오류를 방지하기 위해 softurl9가 존재하는지 판단합니다
}
코드 사본은 다음과 같습니다.
if (document.getElementById ( "softurl9")) {
// JS 오류를 방지하기 위해 softurl9가 존재하는지 판단합니다
}