조건부 주석을 사용하여 IE 버전을 확인하세요. 글쎄요, 누군가가 일찍부터 제안했지만 코드를 주의 깊게 읽지 않았습니다. 어제 CSS3 PIE를 보다가 우연히 보게 되었는데, 믿을 수 없는 내용이라는 생각이 들었습니다. 오늘 Paul Irish가 언급하는 걸 봤는데 추천해보겠습니다. 작가 블로그에 쓴 글입니다:
/ / ----------------------- --- ------
// JavaScript에서 IE 버전을 감지하기 위한 짧은 스니펫
// 사용자 에이전트 스니핑에 의존하지 않고
// --------- ---- --------------------------------- ----
/ / IE를 사용하지 않는 경우(또는 IE 버전이 5 미만인 경우):
// ie === 정의되지 않음
// IE를 사용하는 경우(> ;=5) 버전을 확인할 수 있습니다:
// 즉 === 7; // IE7
// 따라서 IE를 감지하려면:
// if (ie) {}
// 그리고 버전을 감지하려면:
// ie === 6 // IE6
// ie > 7 // IE8, IE9...
// ie < IE9 미만
// ----------------------------- -------- --------
// 업데이트: 이제 @jdalton의 Live NodeList 아이디어를 사용합니다
var ie = (함수(){
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '' ,
모두[0]
);
v > 4 ? v : undef;
}());
이 while문에 주목하세요. 그것이 내가 가장 흥미롭다고 생각하는 것입니다. 쉼표 연산자의 경우. 저도 잘 모르겠고, 변수 정의 같은 사용법에만 막혀있습니다. 예:
var a= 'b' , c = 'd', e = 'f';
var obj = {
a: 'b',
c: 'd',
e: 'f'
}
직원 @kangpangpang에게 물어보니, 다시 책을 확인했다. 실제로 이것은 비교적 드뭅니다. 일반적으로 마지막 값이 반환됩니다.
var a = (1,2,3 ,5, 6,0,9,4); // a === 4
아마 그럴 겁니다. 꽤 흥미롭습니다.