能否在不执行函数的情况下访问函数内的元素

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的值呢(除了设为全局变量这个方法)?

芜湖不芜
浏览 493回答 1
1回答

慕莱坞森

首先你不执行test方法,肯定得不到这个方法中的变量,其次执行了这个方法肯定会执行alert所以可以为test方法加一个参数,用作控制是否执行alertfunction test(is_alert) {    var a = 1;    if (is_alert) {        alert(1);    }    return {        numA: a    }}function test2() {    console.log(test(false).numA)}test2();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript