IE의 JavaScript와 최신 브라우저 (예 : Firefox)의 JavaScript 간의 주요 차이점은 CSS / (X) HTML 크로스 브라우저의 차이점 뒤에있는 동일한 이유 때문일 수 있습니다. 과거에는 사실상의 표준이 없었습니다. IE / Netscape / Opera는 대부분의 사양을 구현하면서 영역 전쟁을 벌였지 만 일부를 생략하고 서로의 이점을 얻기 위해 독점 사양을 만들었습니다. 나는 길게 계속할 수 있지만 IE8의 릴리스로 건너 뛰도록하자 : JavaScript는 수년 동안 피하고 / 경멸 당했고, FF의 부상과 webcomm의 경멸로 IE는 주로 IE6에서 CSS를 발전시키는 데 집중하기로 결정했습니다. 그리고 기본적으로 DOM 지원을 남겨 두었습니다. IE8의 DOM 지원은 2001 년에 출시 된 IE6 일 수도 있습니다. 따라서 IE의 DOM 지원은 최신 브라우저에 비해 거의 10 년 뒤입니다. 레이아웃 엔진에 특정한 JavaScript 불일치가있는 경우 CSS 문제를 처리 한 것과 동일한 방식으로 공격하는 것이 가장 좋습니다. 해당 브라우저를 타겟팅합니다. 브라우저 스니핑을 사용하지 말고 기능 감지를 사용하여 브라우저 / 그것의 DOM 지원 수준을 스니핑하십시오.
JScript는 IE의 ECMAScript 구현이 아닙니다. JScript는 Netscape의 JavaScript에 대한 IE의 대답이었습니다. 둘 다 ECMAScript 이전에 존재하게되었습니다.
스크립트 요소의 유형 속성에 관해서는 type = "text / javascript"가 기본 표준 (적어도 HTML5에서는)이므로 스크립트가 JavaScript가 아닌 경우 유형 속성이 필요하지 않습니다.
IE가 innerHTML을 지원하지 않는 한 ... innerHTML은 IE에 의해 발명되었으며 오늘날에도 여전히 DOM 표준이 아닙니다. 유용하기 때문에 다른 브라우저에서이를 채택했기 때문에 크로스 브라우저에서 사용할 수 있습니다. 동적으로 테이블을 변경하는 한 MSDN은 "테이블에 필요한 특정 구조 때문에 테이블 및 tr 개체 의 innerText 및 innerHTML 속성은 읽기 전용입니다."라고 말합니다. 처음에는 그것이 얼마나 사실 이었는지는 모르겠지만, 현대 브라우저는 테이블 레이아웃의 복잡성을 처리하면서 그것을 알아 냈습니다.
JavaScript에 대한 강력한 이해를 얻으려면 JavaScript
Jeremy Keith의 DOM 스크립팅
Douglas Crockford의 JavaScript : The Good Parts
및 Christian Hellman의 Beginning JavaScript with DOM Scripting 및 Ajax 에서 PPK를 읽는 것이 좋습니다 .
프레임 워크 / 라이브러리에 관한 한, 아직 JavaScript에 대한 강한 이해가 없다면 피해야합니다. 2 년 전 나는 jQuery 함정에 빠졌고 웅장한 업적을 이룰 수 있었지만 JavaScript를 올바르게 코딩하는 것에 대해 전혀 배운 적이 없습니다. 돌이켜 보면 jQuery는 끔찍한 DOM 툴킷이지만 적절한 클로저, 프로토 타입 상속 등을 배우지 못해 개인적인 지식을 되찾았을뿐만 아니라 내가하고있는 실마리가 없었기 때문에 내 작업이 엄청난 성능 타격을 받기 시작했습니다.
JavaScript는 브라우저의 언어입니다. 클라이언트 측 / 프론트 엔드 엔지니어 인 경우 JavaScript를 명령하는 것이 가장 중요합니다. Node.js는 JavaScript를 완전히 기울이고 있습니다. 매일 개발 과정에서 엄청난 발전이 이루어지고 있습니다. 서버 측 JavaScript는 가까운 장래에 표준이 될 것입니다. JavaScript가 현재 얼마나 중요한지, 앞으로도 앞으로 더 중요해질 것임을 더욱 강조하기 위해 이것을 언급하고 있습니다.
JavaScript는 Rails보다 더 많은 파도를 만들 것입니다.
즐거운 스크립팅!