>  기사  >  웹 프론트엔드  >  JavaScript_javascript 기술에서 점 "."의 모호함을 구문 분석합니다.

JavaScript_javascript 기술에서 점 "."의 모호함을 구문 분석합니다.

WBOY
WBOY원래의
2016-05-16 17:11:161279검색

JavaScript에서는 점 "."에 두 가지 의미가 있습니다.

의미 1. 2.5 등 산술에서 소수점(부동 소수점 수)을 나타냅니다

의미론 2. [].push(2)

와 같은 객체 속성 및 메서드 가져오기

이해하기 어려운 내용은 거의 없는데, 다음 질문이 흥미롭습니다.

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

// 이 코드 줄은 어떻게 될까요? 실행
1 .toString();

Firebug는 다음과 같습니다

여기의 점은 위에서 언급한 의미 1을 표현하므로 점 뒤에 숫자가 와야 합니다. 여기서 다음은 toString이고 보고 구문이 잘못되었습니다.

괄호를 추가하는 등 해결 방법은 매우 간단합니다

코드 복사 코드는 다음과 같습니다

(1).toString();

이렇게 작성할 수도 있지만 이해하기가 더 어렵습니다
코드 복사 코드는 다음과 같습니다.

1..toString();

실행할 수 있는 이유 브라우저의 경우 각 브라우저의 JS 엔진에 " 1..toString()"을 넣으면 "1.0.toString()"으로 이해되기 때문입니다. 여기서 첫 번째 점은 의미 1이고 두 번째 점은 의미 2입니다.

이상하게 쓰는 방법이 있는데 오류가 보고되지 않습니다

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

1 .toString(); // 점 기호 앞에 공백이 있다는 점에 유의하세요

분명히 여기서 점 기호는 의미 2, 즉 JS입니다. 엔진은 도트 연산자 앞의 공백을 무시합니다. 실제로 선행 및 후행 공백은 무시됩니다. 다음과 같습니다
코드를 복사합니다 코드는 다음과 같습니다.

1 . // 점 앞뒤에 공백이 있습니다
1 . toString(); // 점 앞뒤에 공백이 있습니다
1 .toString() // 점 앞에 탭이 있습니다
1 . toString(); / / 마침표 앞뒤에 탭이 있습니다

JS 엔진은 공백뿐만 아니라 탭도 무시합니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.