JavaScript에 왜 혼란스러운 API가 있는지 궁금합니다. 브라우저간에 일관성이 없기 때문에 양식 입력의 각 유형에서 가치를 얻는 다른 방법이 있으며 실수를 용인하지 않습니다. jQuery는 API가 훨씬 쉽기 때문에 내 인생을 바 꾸었습니다. 자바 스크립트 제작자가 왜 처음부터 API를 설정하지 않았습니까?JavaScript는 왜 혼란스러운 API를 가지고 있습니까?
답변
JavaScript API 자체는 브라우저간에 일관되며 ECMA , 원래 Netscape에 의해 개발되었지만). 브라우저 간의 차이점은 DOM (Document Object Model)입니다. DOM은 다른 브라우저 인 IE와 Netscape에 의해 독자적으로 개발되었지만 현재는 IE, Mozilla 및 다른 사람들이 개발했습니다. W3C는 차이점을 통합하고 공통 표준을 만들려고 노력했습니다. 이전 버전과의 호환성을 위해 이전의 차이점은 그대로 유지됩니다. 그리고 예, jQuery는 DOM을보다 쉽게 만드는 데 많은 도움이되었습니다.
대부분은 브라우저 전쟁의 잔재라고 생각합니다. Javascript는 마이크로 소프트와 넷스케이프 사이의 총체적인 전쟁으로 이루어진 매우 귀찮은 역사를 가지고 있습니다. Javascript는 실제로 매우 좋은 언어입니다. 몇 가지 중요한 디자인 실수가 있지만 주위를 해결할 수 있습니다. API에 관해서는 모든 복잡성을 숨기고 가장 적절한 API를 사용하는 우수한 랩핑 라이브러리를 사용할 수 있습니다.
중요한 제안 사항은 다음과 같습니다. 그것과 싸우거나 다른 것으로 가면으로 사용하지 마십시오. 그것의 결점으로 그것을 포용하십시오. 일단 당신이 그것들을 안다면, 당신은 더 이상 그들을 밟지 않을 것이고, 어떤 것이 물고기처럼 보이면 쉽게 그 문제를 발견 할 것입니다.
나는 물 것입니다. Douglas Crockford의 동영상 (http://javascript.crockford.com/)을 확인하면 JavaScript가 일부 상황에있는 이유를 설명 할 수 있습니다. (http://yuiblog.com/blog/2007/01/24/video-crockford-tjpl/)
자바 제작자는 자바 스크립트가 언어가 아닌 API이므로 API를 설정하지 않았습니다.
당신이 참조하는 것은 문서 조작 API 인 DOM (Document Object Model)입니다. 이것은 W3C에 의해 규정 된 표준이며 브라우저의 동작은 브라우저간에 일관되어야합니다.
불행히도 일부 부품이 잘못 지정되었거나 일부 부품이 브라우저 공급 업체에서 잘못 구현되었습니다. 또한 공급 업체는이 API를 표준에 추가 할 수는 없지만 매우 인기가있는 독점 확장 (예 : 해당 시간에 document.all과 같은)으로 확장합니다.
그래서 오늘날의 브라우저 API는 일관성이 없습니다.
이 직접 귀하의 질문에 대답하지 않지만 :
많은 사람들은 사이 브라우저 불일치에 의해 방해된다. 소수의 사람들이 자신의 JavaScript 코드의 차이점을 없애는 데 정말로 능숙하지만, 대부분 시간을 절약 할 여력이 없습니다. 이것이 왜 당신을 위해 더러운 일을 할 수있는 프레임 워크가 그렇게 많은지입니다. JQuery이 가장 인기가 있다고 생각합니다. 두통에 많은 아스피린을 삼키는 대안으로 추천 해 드리고 싶습니다.
- 1. Maya Mel은 IDE에 좋은 API를 가지고 있습니까?
- 2. 왜 내가 쿼리를 가지고
- 3. JavaScript는 무엇을 할 수 있습니까?
- 4. IBOutlets에 관한 혼란스러운 버그
- 5. F # 혼란스러운 결과
- 6. Nagios는 타겟을 제어 할 수있는 API를 가지고 있습니까?
- 7. 어떤 몸도 REST API를 사용하는 간단한 응용 프로그램을 가지고 있습니까
- 8. Java 상속 ... 혼란스러운
- 9. Stackover의 API 내가 SO API를 가지고 노는거야
- 10. Javascript는 어떤 창에서 정보를 얻을 수 있습니까?
- 11. iPhone, 혼란스러운 메모리 누출
- 12. Subclipse : 혼란스러운 메뉴 옵션
- 13. WinForms에서 혼란스러운 DLL 사용
- 14. 장고. 혼란스러운 질문. 상품 수
- 15. 메일 문제가 있습니다. 매우 혼란스러운
- 16. JavaME 프로그래밍 배우기 .... 혼란스러운
- 17. PL/PgSQL 혼란스러운 오류
- 18. 혼란스러운 WPF 그리기 동작
- 19. 혼란스러운 MySQL 쿼리
- 20. 혼란스러운 Subversion 상태! M
- 21. 혼란스러운 반환 문
- 22. F # CodeDom의 혼란스러운 구현
- 23. 왜 asp.net 회원은 users 테이블과 회원 테이블을 가지고 있습니까?
- 24. Google Analytics는 왜 두 개의 스크립트 블록을 가지고 있습니까?
- 25. 왜 WPF는 Drawing.Color를 사용하는 대신 자신의 Color 클래스를 가지고 있습니까?
- 26. 겉으로보기에는 비슷한 쿼리가 왜 그렇게 다른 실행 시간을 가지고 있습니까?
- 27. 혼란스러운 std :: map 삽입 동작
- 28. JavaScript는 NaN이지만, 그렇지 않은 것을 알고 있습니까?
- 29. Javascript는 web.config AppSettings에서 가치를 얻을 수 있습니까?
- 30. JavaScript는 언제 실행됩니까?
하나의 회사 (Netscape)를 만들었고 가장 경쟁자 (Microsoft)가 잘못 작성하여 표준화되지 않았기 때문에 다른 변형에 대해 아무 것도 할 수 없을 때까지. –
이 질문을 닫는 것에 동의하지 않습니다. 프로그래밍과 관련하여 합법적입니다. –
Carl과 완전히 동의합니다. 그것은 기술 관련 질문이며 우리 모두 OP가 요점을 가지고 있음을 어느 정도 알고 있습니다. –