JavaScript에서 어떤 식 으로든 반환 함수에서 변수 값에 액세스하는 방법은 무엇입니까? 당신이 아무데도 변수 value
선언되지 않은, 이후반환 함수의 변수
function x(){
return{
foo:function(text){
value= text;
}
}
}
a=x();
a.foo("some text");
JavaScript에서 어떤 식 으로든 반환 함수에서 변수 값에 액세스하는 방법은 무엇입니까? 당신이 아무데도 변수 value
선언되지 않은, 이후반환 함수의 변수
function x(){
return{
foo:function(text){
value= text;
}
}
}
a=x();
a.foo("some text");
,이 변수는 (브라우저의 환경에서 윈도우 객체의 속성으로) 전역에 선언됩니다. 그래서 당신은 아래와 같이 접근 할 수 있습니다. 그러나 이것은 입니다. 나쁜 사례입니다. 먼저 변수를 선언하지 않고 변수를 사용하는 것이 좋습니다. 이를 implied global이라고합니다.
function x(){
return{
foo:function(text){
value = text;
}
}
}
a=x();
a.foo("some text");
document.write(value);
내 개인적인 의견은 객체 지향 접근법을 사용하는 것입니다.
var SomeObject = function(){
var text = "";
this.setText = function(value){
text = value;
};
this.getText = function(){
return text;
};
};
var myObject = new SomeObject();
myObject.setText("This is the text");
alert(myObject.getText());
수 없습니다. 당신은 아마 그것을 돌려주고 싶다. 또한 변수를 선언해야합니다. – SLaks
'var value ...'라고 가정하면 클로저이고 다른 함수로 묶인 함수의 내부 변수에 액세스 할 수 없습니다 (객체에 있더라도). – adeneo