1. 변수
•전역 변수
자바스크립트의 두 가지 기능을 사용하면 무의식적으로 전역 변수를 놀라울 정도로 쉽게 만들 수 있습니다. 첫째, 변수를 선언하지 않고도 사용할 수 있습니다. 둘째, JavaScript에는 암시적인 전역 개념이 있습니다. 즉, 선언하지 않은 모든 변수는 전역 개체 속성이 됩니다(진정한 전역 변수가 아니므로 delete 삭제를 사용할 수 있음)
function sum(x,y) {
// 결과는 선언되지 않았습니다. 암시적 전역 변수입니다.
result = x y;
return result
}
function foo() {
// 작업 체인 사용 부분 var 선언, b는 암시적 전역 변수입니다.
var a = b
}
제안:
function (x,y) {
var a ,b
a = b = 1; //a, b는 지역변수입니다
}
•var 함수
var를 통해 생성된 전역변수(함수 이외의 프로그램에서 생성)는 삭제할 수 없습니다. var 없이 생성된 암시적 전역 변수는(함수에서 생성되었는지 여부에 관계없이) 삭제할 수 있습니다.
// 3개의 전역 변수를 정의합니다.
var global_var = 1;
global_novar = 2; // 부정 교재
(function () {
global_fromfunc = 3; // 부정 교재
}()); >
// 삭제 시도
delete global_var; // false
delete global_novar; // true
delete global_fromfunc; // true
// 삭제 테스트
typeof global_var; // "숫자"
typeof global_novar; // "정의되지 않음"
typeof global_fromfunc; // "정의되지 않음"
•변수의 단일 var 선언 사용 함수 상단에 단일 var 문을 추가하는 것이 더 유용한 형식입니다. 초기화되지 않았지만 선언된 모든 변수의 초기값은 정의되지 않습니다
function func() {
var a = 1,
b = 2,
sum = a b,
myobject = {},
i,
j;
// 함수 본문...
}
•var 확산 문제
//카운터 예시
myname = "global"; // 전역 변수
function func() {
alert(myname) ; //"정의되지 않음" var myname = "local"; // "local" } func()는 다음과 같습니다:
myname = "global"; 변수
function func( ) {
var myname; // -> var myname = undefed; // "undefine"
myname; 🎜>alert(myname); // "local"}
func();
두 개의 for 루프
• 사용을 권장합니다.
코드 복사
max,
myarray = [];
// ...
for (i = 0, max = myarray.length; i // myarray 사용 [i] 무엇인가
}
}
i를 다음 표현식으로 바꾸세요
코드 복사
//The 첫 번째 변경된 형식:
var i, myarray = [ ];
for (i = myarray.length; i–-;) {
// myarray[i]를 사용하여 작업 수행
}
//두 번째는 while 루프를 사용합니다:
var myarray = [],
i = myarray.length
while (i–-) {
// myarray로 작업 수행[i]
}
•for-in 루프
배열이 아닌 객체의 순회에 적용됩니다. 배열은 일반 for 루프를 사용하고 객체는 for-in 루프를 사용합니다. hasOwnProperty() 메서드를 사용하면 객체 속성을 탐색할 때 프로토타입 체인에 나오는 속성을 필터링할 수 있습니다.
3 암시적 유형 변환을 피하세요
• === 및! ==
4. eval 사용을 피하고 setInterval(), setTimeout() 및 Function() 생성자에 문자열 전달을 피하고 대신 함수를 사용하십시오.
5개의 parsInt() 수치 변환
기본 매개변수에 값을 할당하는 것이 좋습니다.
var Month = "06",
year = "09"
month =parseInt(month, 10);/ /0으로 시작하는 문자열은 8진수로 처리됩니다.
year = parsInt(year, 10);
6가지 프로그래밍 표준
생성자 이름 지정: MyConstructor();
일반 함수 이름 지정: myFunction();
변수 이름 지정: firstName;
개인 속성 또는 메서드: _secondeName,
상수: PI, MAX;