클로저에 대해 말하자면, js 함수의 변수 범위를 포함하며, 이는 로컬 변수와 전역 변수로 구분됩니다. 함수 외부의 변수는 함수 내부에서 직접 읽을 수 있지만, 함수 내부의 변수는 함수 외부에서 직접 읽을 수 없습니다.
하지만 때로는 함수의 지역 변수를 가져와야 하므로 클로저가 생성됩니다. 클로저는 다음 코드와 같이 함수 내부에 다른 함수를 정의하는 것입니다.
var foo=(function () { var a="11"; return{ get_a:function () { return a; }, new_a:function (newValue) { a=newValue; } } } ()) console.log(foo.a) //输出undefined,因为函数外部不能直接访问内部的局部变量 console.log(foo.get_a())//输出11 foo.new_a("我是通过闭包改变的值")//调用并且传参 console.log(foo.get_a()) //输出我是通过闭包改变的值
이 방법으로 내부를 가져올 수 있습니다. 외부의 함수는 지역 변수입니다. 위 함수에서 return 내부의 함수는 클로저입니다.
위 내용은 클로저에 대한 대중적인 이해 - 5Clay의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!