老师帮吗看看我定义的这个全局变量btm1为什么不能被我的方法赋值呢
1 | function init(){<br> var num=document.getElementById( "num" )<br> num.value=0;<br> var btm1;<br> var fh;<br> var input=document.getElementsByTagName( "input" );<br> for ( var i = 0; i < input.length; i++) {<br> input[i].onclick= function (){<br><br> if (isNumber( this .value)){<br> if (isNull(num.value)){<br> num.value= this .value;<br> } else {<br> num.value=num.value+ this .value;<br> }<br><br> } else {<br> var btm= this .value;<br><br> switch (btm){<br> case "+" :<br> yunsuan(btm1,num);<br> alert(btm1)<br> fh= "+" ;<br> break ;<br> case "-" :<br> break ;<br> case "*" :<br> break ;<br> case "/" :<br> break ;<br> case "=" :<br> switch (fh){<br> case "+" :<br> var n=parseInt(num.value);<br> num.value=btm1+n;<br> console.log(btm1);<br> break ;<br> }<br> break ;<br> case "." :<br> break ;<br> case "c" :<br> break ;<br> case "←" :<br> break ;<br> case "+/-" :<br> break ;<br><br> }<br> }<br> }<br> }<br><br> function yunsuan(n,n1){<br> n=parseInt(n1.value);<br> n1.value=0;<br><br><br>}<br> |
相关截图:
尝试过的解决方式:
我在赋值的方法中经过弹窗测试,参数n是可以被正常赋值的,但是就是不知道为什么带不到btm1去
18
收起
正在回答
2回答
同学你好
首先弹出undefined是因为同学初始化时未给btm1进行赋值,其次是因为除了数组之外,其他类型在函数中的值不会改变其本身的值,原理跟java类型,所以这里给btm1赋值后弹出的也是原来的值
祝学习愉快~
java工程师2020版
- 参与学习 人
- 提交作业 9402 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧