function test() { var a = 1; alert(1); return { numA: a }}function test2() { console.log(test().numA)}test2();如上面这段代码,如果想在test2()里面访问test()的变量a,就一定会执行那个alert(1)吗?有没有办法不执行到alert(1) 就可以得到a的值呢(除了设为全局变量这个方法)?
1 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
首先你不执行test
方法,肯定得不到这个方法中的变量,其次执行了这个方法肯定会执行alert
所以可以为test
方法加一个参数,用作控制是否执行alert
function test(is_alert) {
var a = 1;
if (is_alert) {
alert(1);
}
return {
numA: a
}
}
function test2() {
console.log(test(false).numA)
}
test2();
添加回答
举报
0/150
提交
取消