JS全局变量调用问题,我的函数读取不了全局变量。

图1图2:全局变量a无法被alert()方法调用,我输入内容点击后弹出空白框。图3图4图5:当把a设置成局部变量,或者把.value去掉加到alert()里面,代码可以正... 图1图2:全局变量a无法被alert()方法调用,我输入内容点击后弹出空白框。
图3图4图5:当把a设置成局部变量,或者把.value去掉加到alert()里面,代码可以正常运行,输入什么就弹出什么。
我想写一个简单的计算程序,也出现了上述问题:
图6图7:全局变量number01和02无法被函数调用,当输入数字计算后输出结果NaN。
图8:把number01 02设置成局部变量之后,代码可以正常运行。
为什么会是这样,全局变量不是可以被所有函数调用吗?
展开
 我来答
百度网友ca6ad38
2019-03-10 · TA获得超过157个赞
知道小有建树答主
回答量:237
采纳率:91%
帮助的人:90.8万
展开全部
变量是存在
但是值是否一运行就存在?对网页不是很清楚,但是看你的赋值我想运行时那里还没有值吧
可以给 text1 绑定一事件,当 text1 的量变后重新赋值 a 变量
更多追问追答
追问

可是为什么我把a变量弄到函数里面,就没问题了。。

输入什么点击之后就弹出什么

追答

代码由上往下运行,你的 a = xxx 放在函数外即全局时,是运行时就赋值(就执行了一次赋值,但是当时 text1 是空的)

放在函数内,每次运行函数都赋值。。。

    var a; // 定义全局
    // 当 text1 的值发生改变后
    function textOnChange() {
        // 赋值给 a
        a = document.getElementById("text1").value;
    }
    function myFunction() {
        alert(a);
    }

text1 加上  onchange="textOnChange()"

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式