>웹 프론트엔드 >JS 튜토리얼 >JavaScript 학습 노트에 대한 심층적 이해 (1) 고품질 code_javascript 기술 작성

JavaScript 학습 노트에 대한 심층적 이해 (1) 고품질 code_javascript 기술 작성

WBOY
WBOY원래의
2016-05-16 17:51:05997검색

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 루프

• 사용을 권장합니다.




코드 복사
코드는 다음과 같습니다. function looper() { var i = 0,
max,
myarray = [];
// ...
for (i = 0, max = myarray.length; i // myarray 사용 [i] 무엇인가
}
}


i를 다음 표현식으로 바꾸세요



코드 복사
코드는 다음과 같습니다. i = i 1 i = 1 다음 두 가지 반복 방법이 더 빠릅니다.

//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;
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.