javascript 폐쇄 질문

 
var test=(function() { var arr2=[1,2,3,3]; return function(){ return arr2; }; })()
Array.prototype.f1= function () { return []; }
Array.prototype.f2= function () { this.length=0; return this; }   
그리고 두 가지 방식 으로 호출 합 니 다.하나:var arr=test().console.log(arr.length);결 과 는 4 arr.f1();arr= test(); console.log(arr.length);결 과 는 4.이해 하기 쉽다.2:var arr=test();console.log(arr.length);결 과 는 4 arr.f2();arr= test(); console.log(arr.length);결 과 는 0 인 데 왜 그런 지 모 르 겠 습 니 다.혹시 arr.f2()는 test 함수 에서 닫 힌 arr 2 를 수정 할 수 있 습 니까?

좋은 웹페이지 즐겨찾기