我很确定我做错了但是我想要发生的是onload我希望功能测试运行然后功能一然后功能二,然后我希望功能二从函数一返回var abc。
window.onload=function(){
test();
};
function test(){
var abc;
function one(){
abc = 1;
two();
}
function two(){
console.log(abc);
}
}
答案 0 :(得分:1)
您只需要声明函数one
,您需要执行它。在test
函数末尾添加one();
,请参见下文:
window.onload=function(){
test();
};
function test(){
var abc;
function one(){
abc = 1;
two();
}
function two(){
console.log(abc);
}
one();//execute function 1
}
答案 1 :(得分:1)
我希望功能测试运行然后运行一个
这是你错过的一步。您的test
函数目前仅声明function one
,但从不调用它。
function test() {
var abc;
function one() {
abc = 1;
two();
}
function two() {
console.log(abc);
}
one(); // call it!
}
test(); // logs 1
可能有更好的方法在函数之间共享值而不是闭包(取决于用例),但这可以达到你想要的效果。