1. 스크립트를 사용하지 않고 자체 폐쇄 태그
스크립트에서 자체 폐쇄 태그를 사용하십시오. XHTML에서는 합법적이지만 HTML 사양을 준수하지 않으며 일부 브라우저의 올바른 구문 분석을 얻을 수 없습니다. Ext를 도입했을 때이 방법을 사용하여 스크립트를 올바르게 실행할 수 없었습니다.
<script src="example.js"/> --> <script src="example.js"></script>
2. 스크립트를 </body> 앞에 놓으십시오
스크립트 파일을 <head>에 넣으면 페이지를 표시하기 전에 스크립트를 다운로드하여 실행해야하므로 사용자의 대기 시간이 증가합니다. 컨텐츠가 비정상적으로 표시되는 것을 방지하려면 스타일 시트를 <head>에 넣으십시오. 일반적인 방법은 다음과 같습니다.
<! doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> 문서 </title> <link rel = "stylesheet"type = "text/css"href = "tremer.css"/> </head> <body> <!-html 코드-> < src = "example.js"/> </body> </html>
3. 함수 내에서 엄격한 모드를 사용하십시오
기능 외부에서 엄격한 모드를 사용하는 경우 타사 라이브러리와 동료 코드가 제대로 작동하지 않을 수 있습니다. 함수 내부에서는 다른 코드가 아닌 자신의 코드에만 영향을 줄 수 있습니다.
함수 myFunction () { "Strict 사용"; // 기능 코드}4. 성명이 끝날 때 세미콜론을 생략하지 마십시오.
코드 끝에 세미콜론이 없으면 압축 오류가 쉽게 발생할 수 없습니다. 또한 경우에 따라 코드의 성능을 향상시킬 수 있습니다. 통역사는 세미콜론을 삽입 할 위치를 추측하는 데 시간을 보내지 않아야합니다. 또 다른 일반적인 문제는 세미콜론을 자동으로 삽입하면 때때로 실수를 할 수 있으므로 세미콜론을 생략하는 것이 좋습니다.
5. VAR을 사용하여 변수를 정의하십시오
변수를 정의 할 때 VAR 키워드를 사용하고 모두 함수의 시작 부분으로 고급됩니다.
이 작업의 이점은 무의식적으로 글로벌 변수를 만들고 코드를 쉽게 이해할 수있게 해줍니다.
함수 myFunction () {var result = 10 + 값; var 값 = 10; 반환 결과;}이 기능 구문에는 문제가 없지만 직관적이지 않으며 인간 논리를 준수하지 않습니다. 다음과 같이 수정하는 것이 좋습니다.
funciton myFunction () {var result; var 값; 결과 = 10 + 값; 값 = 10; 반환 결과; }위의 두 코드가 동일하며 결과 값은 NAN이라고 설명하겠습니다. JavaScript는 함수의 모든 변수 선언을 함수의 시작 부분으로 홍보합니다. 코드 1은 코드가 실행되면 코드 2가됩니다. 결과 = 10 + 값으로 실행되면 값의 값이 정의되지 않고 10이 NAN에 추가 된 다음 값이 10에 할당됩니다.
모든 사람은 글로벌 변수로 인한 문제에 대해 명확해야합니다. 그렇지 않으면 네임 스페이스의 개념이 나타나지 않습니다.
6. 먼저 함수를 선언 한 다음 사용하십시오
변수 선언과 마찬가지로 함수 선언은 JavaScript 엔진에 의해 고급화되므로 코드에서 함수 선언 전에 기능의 호출이 나타날 수 있습니다. 주목할만한 또 다른 것은 기능 선언이 다음과 같은 명령문 블록에 표시되어서는 안된다는 것입니다.
if (조건) {function myFunction () {alert ( "true"); }} else {function myFunction () {alert ( "false"); }} myFunction ();코드를 실행하면 출력이 브라우저와 관련이 있음을 발견했습니다. Chrome 51 및 Firefox 46에서 True를 출력하고 IE 10에서 False를 출력합니다. 따라서 명령문 블록에서 기능을 선언하지 마십시오.
7. 조심스럽게 unull 유형을 사용하십시오
Null은 특별한 가치이며, 종종 정의되지 않은 것과 혼동됩니다. 다음 시나리오는 NULL을 사용해야합니다.
NULL은 다음 상황에서 사용해서는 안됩니다.
NULL을 이해하는 가장 좋은 방법은 물체의 자리 표시 자로 사용하는 것입니다. 우리가 종종 null과 정의를 혼동하는 이유는 null과 undefined가 초기화되지 않은 변수라고 생각하기 때문입니다. 그러나 정의되지 않은 변수 만 초기화되지 않았으며 NULL은 객체로 초기화되었음을 의미합니다. 다음 코드를보십시오.
var person; console.log (Typeof Person); //undefinedConsole.log(typeof foo); // undefinedVar house = null; console.log (유형 집); //물체
따라서 변수가 초기화되어 있는지 확인하기 위해 Typeof를 사용하지 마십시오. 변수가 존재하지 않는지 또는 변수가 초기화되지 않았는지 확신 할 수 없습니다. NULL 리턴도 변수가 올바르게 할당되었는지 확실하지 않으므로 TypeOf를 사용하도록주의하십시오.
8. 숫자 유형에주의하십시오
나는 모든 사람들이 JavaScript 정수가 10 진수, 10 진수 및 16 진 문자 값을 지원한다는 것을 알고 있다고 생각합니다. 문자 값의 숫자 값이 8 월의 범위를 초과하면 선행 0이 무시되고 후속 숫자 값은 소수로 구문 분석됩니다.
console.log(012); //10
Console.lgo (082); // 82
Octal과 16 진수가 소수점에 사용되면 구문 오류가 발생합니다. 또 다른 요점은 옥탈 리터럴이 엄격한 모드에서 유효하지 않다는 것입니다. 모든 사람은 부동 소수점 계산 오류의 문제를 알고 있습니다. 이는 IEEE754 값을 기반으로 한 모든 부동 소수점 계산에 적용되므로 특정 부동 소수점 값을 테스트하지 마십시오.
숫자 유형 NAN (숫자가 아님)에는 특별한 값이 있으며,이 값은 값이 반환되어야하지만 숫자 유형이 아님을 나타내는 데 사용됩니다. NAN과 값은 Nan 자체를 포함하여 동일하지 않습니다. ISNAN () 함수를 사용하여 테스트 할 수 있습니다.
9. 논리 작업을 사용한 동적 할당
당신이 선호하는 것
var person = {age : 10} var 조건; var myvar = 조건 & 개인; 경고 (myvar)조건이 부울 유형 false로 변환되면 myvar = 조건, true, myvar = person.
var person = {age : 10} var 조건; var myvar = 조건 || 사람; 경고 (myvar)조건이 부울로 변환되고 참으로 변환되면 myvar = 조건, false 인 경우 myvar = person.
10. 명령문을 사용하지 마십시오
함께 사용하지 않는 중요한 이유는 엄격한 모드에서 구문 자체가 with 문을 비활성화하며, 이는 ECMAScript위원회가 사용해서는 안된다고 확신한다는 것을 보여줍니다. 다음 예를 살펴 보겠습니다.
var book = {제목 : "유지 가능한 JavaScript", 저자 : "Nicholas C. Zakas"}}; var message = "the book is"; with (book) {message += title; Message + = "작성자" + 저자;}위의 코드의 문제점은 제목과 저자가 나타나는 위치를 구별하기가 어렵다는 것입니다. 또한 메시지 나 책의 속성을 다루기 위해 로컬 변수를 구별하기가 어렵다는 것입니다. 또한 JavaScript 엔진 및 압축 도구는이 코드를 최적화 할 수 없으므로 코드의 올바른 의미를 추측 할 수 없습니다.
좋아요, 이미 10 개의 항목이 있습니다. 다음 10 개를 봅시다.