코드 사본은 다음과 같습니다.
<! doctype html>
<html>
<헤드>
<meta charset = "utf-8">
<title> 제목을 여기에 삽입하십시오 </title>
<script type = "text/javaScript">
/*
* 1. JS의 모든 변수는 일반적입니다.
2.JS에는 정적 변수가 없습니다
3. 클로저 : 함수 외부의 변수는 함수 내부에서 호출 될 수 있습니다. 그렇지 않으면 할 수 없습니다
*/
var r = 10;
함수 test1 () {
var r2 = "ABC";
// 경고 (R)
}
// ALERT (R2); // R2 액세스 할 수없는 함수 내부
test1 ();
// 중첩 된 함수는 괜찮습니다
함수 test2 (num1) {
기능 test3 (num2, num3) {
NUM2+NUM3+NUM1 리턴;
}
Return Test3 (10,20)
}
// 경고 (test2 (30));
//-----------------------------------------------------------------------------------------------------------------------------
함수 testfun () {
var r = 1;
var arr = [];
for (var x = 0; x <3; x ++) {
R ++;
arr [x] = function () {
RETOR R;
}
}
반환 ARR;
}
ALERT ( "testFun :"+testFun ());
var arr2 = testfun ();
경고 ( "arr :"+arr2 [0]);
경고 ( "arr :"+arr2 [1] ());
경고 ( "arr :"+arr2 [2] ());
// =========== 위의 3 개의 팝업 상자는 모두 4 ===============================
/*이유 분석 :
JavaScript에서 어떤 기능이 있는지 이해합니까?
함수는 코드의 실행 가능한 블록이며 함수는 함수를 정의하는 두 번째 방법과 같은 변수로 표시 될 수도 있습니다.
var add = 새 함수 ( "a", "return a+10"); 근본적인 본질은 함수 이름 포인터입니다
이 실행 가능한 코드는 변수에 대해 생성되었습니다.
* 먼저, TestFun 함수가 실행 된 후에는 ARR [0], ARR [1] 및 ARR []에 동일하게 저장됩니다.
실행 가능한 코드 블록 함수 () {
반환 r
} 다시 말해 위의 세 가지는 단지 함수 변수입니다. 그것들을 실행하려면 변수 이름 후에 만 추가해야하며 괜찮습니다.
그리고 현재 R의 값은 4입니다.
arr [0] ()을 실행할 때이 코드 블록에서 코드를 실행하는 것과 같습니다.
따라서 최종 결과는 물론 R을 반환합니다.
*/
</스크립트>
</head>
<body>
</body>
</html>