내가 읽는 자바 스크립트 : 좋은 부품 더글러스 Crockford에 의해 자바 스크립트 정규식 리터럴은 같은 개체를 공유합니다. 그렇다면이 두 정규 표현식은 lastIndex
속성에 따라 어떻게 다릅니 까? 서로 다른 객체이기 때문에 3Javascript에있는 두 개의 정규식 리터럴이 속성에 따라 달라지는 이유는 무엇입니까?
2
A
답변
4
ECMAScript Documentation 제 7.8.5는 그들이 두 개의 서로 다른 개체를 매우 명확하게 :
7.8.5 정규 표현식 리터럴
문자 정규 표현식은 변환 된 입력 요소입니다 리터럴이 평가 될 때마다 RegExp 객체 (15.10 참조). 프로그램의 두 정규 표현식 리터럴은 두 리터럴의 내용이 동일하더라도 서로 ===로 비교하지 않는 정규 표현식 객체를 평가합니다. RegExp 객체는 새 RegExp (15.10.4 참조) 또는 RegExp 생성자를 함수 (15.10.3)로 호출하여 런타임에 만들 수도 있습니다.
1
반대로
var a = /a/g;
var b = /a/g;
a.lastIndex = 3;
document.write(b.lastIndex);
0이 출력된다.
document.write(a === b);
심지어 false
을 출력합니다.
Crockford가 틀렸거나 시간이 맞지만 시간이 바뀌 었습니다.
나는 이것이 특히 유익하거나 도움이되지 않는다는 것을 알고 있습니다. 나는 Crockford가 쓴 것이 당신의 불신으로 여겨지는 것을 되돌리려 고하고 있습니다.
그런 주장에 대한 언급이 있습니까? 문맥 (나는 책이 없다)에서 그것을 읽는 것이 재미있을 것이다.
+0
davidgoli가 게시 한 링크를 확인하십시오. Crockford가 실제로 의미했던 것의 오해입니다. – slebetman
관련 문제
- 1. 내 VB6 변형이 할당시기에 따라 달라지는 이유는 무엇입니까?
- 2. ASP.NET MVC 3 OutputCache가 깊은 속성에 따라 달라지는 방법이 있습니까?
- 3. symfony2 : 사용자에 따라 달라지는 메뉴
- 4. 시간에 따라 달라지는 함수 이름?
- 5. Listbox를 두 개의 속성에 바인딩하는 방법은 무엇입니까?
- 6. 시간이 지남에 따라 달라지는 필드 값
- 7. MSF의 의사 결정에 따라 달라지는 매개 변수
- 8. VS 2010 다른 솔루션에 따라 달라지는 솔루션
- 9. 신호 성능이 크게 달라지는 이유는 무엇입니까?
- 10. 두 개의 밑줄에 대한 정규식
- 11. 동시에 두 개의 정규식 grepeing
- 12. 당신이 누르는 버튼에 따라 달라지는 다음 질문
- 13. 두 SQL에서 결과가 달라지는 이유
- 14. 채우기 속성에 두 개의 브러시를 오버레이합니다.
- 15. 변수에 따라 달라지는 파일 이름 쓰기 R
- 16. .NET 3.5 SP1에 따라 달라지는 코드 찾기
- 17. 사용자 입력에 따라 달라지는 이미지 표시
- 18. 기계 아키텍처에 따라 달라지는 것은 무엇을 의미합니까?
- 19. 항목 개체에 따라 달라지는 TreeViewItem 템플릿 변경
- 20. 시간에 따라 설정이 달라지는 JDBC 연결 풀
- 21. IList에 따라 달라지는 성의 유형을 해결하는 문제
- 22. jQuery에서 마우스가 움직이는 위치에 따라 달라지는 논리
- 23. ThreadPool 다른 작업 완료에 따라 달라지는 작업
- 24. 선택한 언어와 제목에 따라 달라지는 메타 태그
- 25. id 값에 따라 달라지는 ActiveRecord 속성 지속성
- 26. 두 개의 서로 다른 URL을 일치시키는 정규식
- 27. Rails 3의 모델 속성에 따라 두 개의 모델 배열 조합을 찾는 방법은 무엇입니까?
- 28. PlayOrm에 두 개의 진입 점이있는 이유는 무엇입니까?
- 29. 두 개의 다른 getline() 함수가있는 이유는 무엇입니까?
- 30. 헤더에 두 개의 세션 ID가있는 이유는 무엇입니까?
저에게 새로운 것입니다. 다른 주장이있는 곳이 있습니까? 아니면 그 행동을 모순되는 것으로 보이는 책의 부분을 인용해도 될까요? –
답변이 게시물에 설명되어 있습니다 : http://stackoverflow.com/questions/2645273/javascript-regular-expression-literal-persists-between-function-calls – davidgoli