지나가는 인수에 액세스하고 나는이 같은 코드를 작성했습니다은 자바 스크립트가 아웃
file myclass.js
//----------------------------------------------
function myclass() {
this.functionA = function (value) {
var _this = this;
_this.functionB();
}
this.functionB = function() {
// here I am using the value passed to functionA when it is called.
alert(value);
}
}
// ------------------ ------------------------------------------------
file main.js
//-----------------------------------------
mc = new myclass();
mc.functionA (45);
//-------------------------------------
여기 나는 필자가 함수를 호출 한 함수를 호출했습니다. functionA에서 functionB를 호출했을 때 functionB에서 인수를 전달하지 않았지만 여전히 액세스 할 수있었습니다. 아무리 친절하게 설명 할 수 있습니까?
PS 값은 글로벌되지 않습니다 내가 당신의 행동을 재현 할 수 있지만 난 당신이 전달됩니다 value
라는 외부 범위에 정의 된 다른 변수가 있다고 가정 어떤 다른
감사
** 폐쇄 **라고합니다. 그것에 대해 자세히 알아보십시오 : http://stackoverflow.com/questions/111102/how-do-javascript-closures-work –
답변을 주셔서 감사합니다하지만 closure.because 나는 functionB 안에 functionB을 defing되지 않습니다. 나는 단지 그것을 –
이라고 부르고있다. 예기치 않은 동작을 보여주는 완벽한 예제를 만드는 것이 좋다. 이 스 니펫으로는 작업 할 수 없습니다. – Triptych