我试图以这种方式在函数之间传递数据:
var mySample = {
myFunction1: function(param1) {
alert(param1 + 'is here');
},
myFunction2: function() {
alert('need' + param1 + ' here')
}
};
这个没有通过,所以我的问题是......我可以在上面分享数据/变量吗?
答案 0 :(得分:2)
这些只是功能,所以它们彼此没有关系。但是,如果您首先尝试拨打myFunction1
来设置值,然后myFunction2
来检索它,则可以将param1
值分配给字段:
var mySample = {
myFunction1: function(param1) {
this._param1 = param1;
},
myFunction2: function() {
alert('need ' + this._param1 + ' here')
}
};
mySample.function1("A");
mySample.function2();
答案 1 :(得分:1)
var mySample = {
paramCache: null,
myFunction1: function(param1) {
var self = this; //mySample
alert(param1 + 'is here');
self.paramCache = param1;
},
myFunction2: function() {
var self = this; //see above
alert('need' + self.paramCache+ ' here')
}
};
这将是在Object中执行此操作的一种方法。
但这需要在myFunction1();
之前调用myFunction2();
。
在这种情况下,var self = this;
部分可能没用,但我总是这样做,所以......是的......它取决于你。
编辑:猜猜某人有同样的想法,但速度快了一段时间:)