>  기사  >  웹 프론트엔드  >  사실상의 표준 세상의 놀라운 사실표준_기본지식

사실상의 표준 세상의 놀라운 사실표준_기본지식

WBOY
WBOY원래의
2016-05-16 18:20:311161검색

IEBlog는 며칠 전 상호 운용성을 달성하는 것이 표준에만 의존하지 않는다는 점을 언급했는데, 이는 사실상의 표준, 즉 표준이 아닌 소위 "사실상 표준"에 대한 몇 가지 고려 사항을 인용한 것입니다. 그러나 모든 사람이 일을 하기 위해 따르는 것입니다.

이러한 사실상의 표준("사실상 표준"이라고도 함)은 특정 사항에 대한 표준이 없을 때 관련 당사자 간의 상호 타협에 의해 형성되는 경우가 많습니다. 흥미롭게도 타협으로 결과적으로 이러한 "사실상 표준"은 표준" 자체는 다른 것과 일치하지 않는 경우가 많으며, 실제로 "표준"이라고 불리는 것은 많은 일이 발생한 후에야 생성되는 경우가 많기 때문에 거의 모든 곳에 "사실상 표준"이 있습니다. "표준"과 "표준"은 느낌이 듭니다. 조금 벗어난 곳.

오랫동안 말도 안 되는 이야기를 하고 나면 이제 본론으로 들어갈 시간입니다.

이 글의 시작 부분에 링크된 블로그 게시물에는 정규식에 대한 문법 문제가 언급되어 있습니다.

"/]/"와 같은 형식은 "]" 자체가 "다음 문자 중 하나와 일치" 구문의 일부이기 때문에 ECMAScript 표준은 이러한 형식을 "잘못된 표현식"으로 표시합니다.” - 하지만 동시에 , 단순한 구성으로 인해 이러한 사용법은 이해에 모호성을 유발하기 쉽지 않으므로 실제로 대부분의 브라우저에서 "유효한" 것으로 간주됩니다.

IE9 개발팀이 처음 새로운 JavaScript 엔진 "Chakra" 테스트를 시작했을 때 원래 잘 실행되던 일부 JavaScript 코드가 "Chakra"에서 실행되지 않는다는 사실을 발견한 이유 중 하나는 원래의 "Chakra"입니다. ECMAScript 표준에 따라 구현되었으며 이전 코드에는 표준에서 유효하지 않은 이와 같은 많은 것들이 포함되어 있습니다. 호환되고 "상호 운용 가능"하려면 "Chakra"가 표준과 일치해야 할 뿐만 아니라 이러한 것을 인식할 수 있어야 합니다. 표현.

이것은 "상호 운용성을 달성하려면 표준 이상의 것이 필요하다"는 좋은 예입니다.

이 외에도 JavaScript에는 다음과 같은 다른 사실상의 표준이 있습니다.

문자열에서 백슬래시 "" 뒤에 개행 표시가 입력되면 [LF] ( 실제 의미) 또는 [CR] ( 실제 의미) 또는 [CR][LF] ( n은 실제로 나타냄) 백슬래시와 함께 완전히 무시됩니다. "무시됨"이라고 말하는 것은 충분히 정확하지 않습니다. 아마도 "이 조합은 여러 줄의 코드에 걸쳐 문자열을 분할하는 것으로 간주됩니다"라고 말해야 할 것입니다.

이렇게 말한 후에도 여전히 이해하기 어렵거나 심지어 설명하기 어렵다면 몇 가지 코드 예제를 통해 이해하는 것이 더 쉬울 것입니다.

예를 들어 다음 코드는

코드를 복사합니다. 코드는 다음과 같습니다.

var s = "
한 줄 문자열입니다.";

는 실제로
코드 복사 코드는 다음과 같습니다.
var s = "This is an"
" 한 줄 문자열입니다."; .
그리고



코드 복사
로 작성하면 코드는 다음과 같습니다. var s = "이것은 한 줄의 문자열입니다."

는 "종료되지 않은 문자열"로 인해 구문 오류를 생성합니다.

처음에는 IE에서 사용하는 JScript 엔진 고유의 기능일 뿐이었지만 지금은 여러 주요 브라우저에서 방금 말씀드린 것처럼 "사실상 표준 중 하나"이기도 합니다.

나는 "사실상 표준"에 대해 더 많이 이야기하고 싶지만 불행히도 그러한 것들이 너무 많고 그 중 아주 작은 부분만 알고 있으며 기억하지 못하는 경우가 많습니다. 그래서 오늘은 여기에만 글을 쓸 수 있겠네요. 또 생각나면 블로그 글을 새로 쓸지도 모르겠네요
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.