1. 부동 소수점 숫자는 컴퓨터가 무한히 반복되는 소수를 정확하게 표현할 수 없기 때문에 연산 중에 오류가 발생합니다.
두 부동 소수점 숫자가 같은지 비교하려면 차이의 절대값만 계산하여 특정 임계값(허용 범위)보다 작은지 확인할 수 있습니다.
Math.abs(1 / 3 - (1 - 2 / 3 )) < 0.0000001; // true
2.null 및 un Defined
null은 0과 다른 "빈" 값을 나타내며, 빈 문자열 ''은 숫자 값을 나타냅니다. 길이가 0 문자열인 문자이고 null은 "비어 있음"을 의미합니다.
JavaScript에는 "정의되지 않음"을 의미하는 null과 유사한 undefound도 있습니다. JavaScript 설계자는 빈 값을 나타내기 위해 null을 사용하고 정의되지 않은 값을 나타내기 위해 undefine을 사용하려고 했습니다.
이것이 아무 소용이 없다는 것이 사실로 입증되었으며, 둘을 구별하는 것은 별 의미가 없습니다. 대부분의 경우 null을 사용해야 합니다. 정의되지 않음은 함수 매개변수가 전달되는지 여부를 결정할 때만 유용합니다.
3.strict 모드
JavaScript가 처음 설계되었을 때는 초보자가 쉽게 배울 수 있도록 var를 사용하여 변수를 선언하는 것이 필수는 아니었습니다.
이 설계 오류는 심각한 결과를 초래합니다. var 선언 없이 변수를 사용하면 해당 변수가 자동으로 전역 변수로 선언됩니다.
i = 10; // i는 이제 전역 변수입니다.
같은 페이지에서 다른 JavaScript 파일에서 , var 선언을 사용하지 않고 모두 i 변수를 사용하는 경우 i 변수는 서로 영향을 미치고 디버깅하기 어려운 잘못된 결과를 생성합니다.
var를 사용하여 선언한 변수는 전역 변수가 아닙니다. 그 범위는 변수가 선언된 함수 본문으로 제한됩니다. 동일한 이름의 변수는 다른 함수 본문에서 서로 충돌하지 않습니다.
JavaScript의 이러한 심각한 디자인 결함을 수정하기 위해 ECMA는 후속 사양에서 strict 모드를 도입했습니다.
strict 모드에서 실행되는 JavaScript 코드는 var를 사용하지 않고 변수를 사용하여 변수를 선언해야 합니다. 런타임 오류가 발생합니다.
엄격 모드를 활성화하는 방법은 JavaScript 코드의 첫 번째 줄에 다음과 같이 작성하는 것입니다.
'use strict';
이것은 문자열입니다. 엄격 모드를 지원하지 않는 브라우저는 이를 문자열 문으로 실행합니다. JavaScript를 실행하기 위해 엄격 모드를 활성화합니다.
브라우저가 엄격 모드를 지원할 수 있는지 테스트하려면:
'use strict';
// 브라우저가 엄격 모드를 지원하는 경우
// 다음 코드는 ReferenceError를 보고합니다.
abc = 'Hello, world' ;
경고 (abc);
4 여러 줄 문자열--백틱
여러 줄 문자열은 n을 사용하여 작성하기가 더 까다롭기 때문에 최신 ES6 표준에서는 여러 줄 문자열에 대한 새로운 표현 방법인 백틱 ` ...을 추가합니다. ` (esc 아래 키) 표현:
`이것은
여러 줄의
문자열입니다`;
5. 템플릿 문자열--${변수 이름}
ES6에 새로운 템플릿 문자열이 추가되었습니다. 표현 방법은 다음과 같습니다. 위의 여러 줄 문자열과 동일하지만 문자열의 변수가 자동으로 대체됩니다.
var name = 'Xiao Ming'
var age = 20;
var message = `안녕하세요, ${ name}, 당신은 $입니다. 올해는 {age}세입니다!`;
alert(message);
6. JavaScript는 null, 정의되지 않음, 0, NaN 및 빈 문자열''을 false로 처리하고 다른 모든 값은
7. swtich는 자바스크립트 키워드이므로 함수 이름으로 사용할 수 없습니다
위 내용은 JavaScript 학습 경로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!