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

查看:59
本文介绍了javascript - 能否在不执行函数的情况下访问函数内的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

解决方案

首先你不执行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();

这篇关于javascript - 能否在不执行函数的情况下访问函数内的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆