【发布时间】:2018-07-31 09:46:37
【问题描述】:
假设我有这个功能,我正在尝试获取 value1 和 2 的值,正确的方法是什么。 1. 退出函数时如何定义值 1 和值 2 2. 如何在不调用“doSomething”函数的情况下获取另一个函数中的值
test.prototype.doSomething = function (){
test = new Execution(experiment);
function experiment(bla) {
forEach(function(bla) {
var value1 = bla.value1;
var value2 = bla.balue2;
console.log(value1); //defined
});
console.log(value1); //undefined
}
console.log(value1); //undefined
}
test.prototype.testSomething = function() {
var testSomething = values1;
}
【问题讨论】:
-
这看起来像XY Problem。你定义这些价值观的方式是:“你没有”。问题是你为什么要这样做?你真正想做什么?
-
你没有。这些不是“私有”变量,它们只是作用域,一旦最里面的函数退出,它们就会被标记为垃圾回收,因为在那之后它们不再在作用域内。
-
什么是
Experiment、forEach和test?为什么doSomething会覆盖test?首先如何调用testSometing和doSomething?您想从哪里获得哪个特定值?
标签: javascript prototype private-methods public-method private-functions