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가 존재하는지 판단합니다
}
다시 채우다:
JavaScript || && 약어 if
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
글을 쓰고 싶다면
if (! false)
{
경고 ( '거짓');
}
글쓰기 고려 :
거짓 || 경고 ( '거짓');
거짓 || 경고 ( '거짓'); 진실 || 경고 ( 'true'); // false 출력;
"||"를 사용하는 경우 첫 번째 조건은 사실이며 두 번째 조건은 두 번째 조건을 감지하지 않고 직접 반환됩니다. 첫 번째 조건은 false이고 두 번째 조건 감지가 수행됩니다.
false && alert ( 'false'); true && alert ( 'true'); // true를 출력합니다
"&&"를 사용하면 첫 번째 조건이 참이고 두 번째 조건이 감지됩니다. 첫 번째 조건은 False이고 직접 종료하기 위해 False를 반환합니다.
요컨대, if, 교체의 단순하고 실용성? : 다른 경우 교체의 실용성. 짧고 간결한 코드를 작성하십시오
용법:
$ ( "#regform input [type! = hidden]"). 각 (
함수 (색인) {
$ (this) .parent () $ ( '<div> </div>'). 부록 ($ (this) .parent ());
}
);
</스크립트>