在Javascript中有什么办法,如何在返回函数中访问变量值?
function x (){
return{
foo:function(text){
value= text;
}
}
}
a=x();
a.foo("some text");
答案 0 :(得分:3)
因为,您还没有声明变量value
,所以此变量将在全局范围内声明(作为浏览器环境中窗口对象的属性)。所以你可以按如下方式访问它。但是,这是不良做法,我的意思是在没有首先声明它的情况下使用变量。这称为implied global。
function x (){
return{
foo:function(text){
value = text;
}
}
}
a=x();
a.foo("some text");
document.write(value);
答案 1 :(得分:3)
我个人的意见是使用面向对象的方法。
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());