为了账号安全,请及时绑定邮箱和手机立即绑定

这两种方式有什么区别,为什么一个有结果一个没有?

var vf = document.getElementById("fruit").value;

//...一系列计算后

vf=sum;

上面的方式没有结果,而下面的方式有结果

//...一系列计算后

document.getElementById("fruit").value=sum;


请教一下这是为什么?

补充:具体代码是这样的

(1)这是正确的,能返回想要的结果(第三个框框有结果输出)

function count(){
    //获取第一个输入框的值
    var v1 = document.getElementById("txt1").value;
    v1=parseInt(v1);
	//获取第二个输入框的值
	var v2 = document.getElementById("txt2").value;
	v2=parseInt(v2);
	//获取选择框的值
	
	//获取通过下拉框来选择的值来改变加减乘除的运算法则
	var vr = document.getElementById("select").value;
    //设置结果输入框的值 
    var sum;
    switch(vr){
        case "+":
            sum=v1+v2;
            break;
        case "-":
            sum=v1-v2;
            break;
        case "*":
            sum=v1*v2;
            break;
        case "/":
            sum=v1/v2;
            break;
        default:
    }
    document.getElementById("fruit").value=sum;
   }


(2)这是错误的,返回不了想要的结果(第三个框框没有结果输出)

function count(){
    //获取第一个输入框的值
    var v1 = document.getElementById("txt1").value;
    v1=parseInt(v1);
	//获取第二个输入框的值
	var v2 = document.getElementById("txt2").value;
	v2=parseInt(v2);
	//获取选择框的值
	var vf = document.getElementById("fruit").value;
	//获取通过下拉框来选择的值来改变加减乘除的运算法则
	var vr = document.getElementById("select").value;
    //设置结果输入框的值 
    var sum;
    switch(vr){
        case "+":
            sum=v1+v2;
            break;
        case "-":
            sum=v1-v2;
            break;
        case "*":
            sum=v1*v2;
            break;
        case "/":
            sum=v1/v2;
            break;
        default:
    }
    vf=sum;
   }


正在回答

4 回答

楼上的疯小蕾说了“document.getElementById("fruit").value, 本来是个空值,你把空值赋予谁都没意义”。

0 回复 有任何疑惑可以回复我~
#1

看了你一眼

没有意义浏览器就看不懂,就不会正确运行。
2017-03-05 回复 有任何疑惑可以回复我~
#2

慕少8119580 提问者

明白了,非常感谢!
2017-03-05 回复 有任何疑惑可以回复我~

因为上面的代码 vr这个变量最后被赋予的值是sum,和document.getElementById("fruit").value就没关系了,只有document.getElementById("fruit").value 才是最后那个文本框中的值,也就是结果的值,这个值,就是document.getElementById("fruit").value, 本来是个空值,你把空值赋予谁都没意义,只有sum的值赋予document.getElementById("fruit").value,它才变成了sum的值,所以下面的代码正确

1 回复 有任何疑惑可以回复我~
#1

慕少8119580 提问者

还是不太明白,我把代码贴出来了,能帮我看下吗?
2017-03-05 回复 有任何疑惑可以回复我~

前提要 document.getElementById("fruit").value 有值啊

0 回复 有任何疑惑可以回复我~
#1

慕少8119580 提问者

值是有的,我贴出来了代码能帮我看下吗?
2017-03-05 回复 有任何疑惑可以回复我~

把全部代码贴出来!

0 回复 有任何疑惑可以回复我~
#1

慕少8119580 提问者

贴出来了
2017-03-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这两种方式有什么区别,为什么一个有结果一个没有?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信