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

来源:6-11 编程练习

慕少8119580

2017-03-04 15:32

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回答

  • 看了你一眼
    2017-03-05 19:27:45
    已采纳

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

    慕少8119...

    明白了,非常感谢!

    2017-03-05 20:38:23

    共 2 条回复 >

  • 疯小蕾
    2017-03-04 23:41:42

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

    慕少8119...

    还是不太明白,我把代码贴出来了,能帮我看下吗?

    2017-03-05 13:45:33

    共 1 条回复 >

  • 看了你一眼
    2017-03-04 22:47:52

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

    慕少8119...

    值是有的,我贴出来了代码能帮我看下吗?

    2017-03-05 13:47:07

    共 1 条回复 >

  • 慕粉3621940
    2017-03-04 22:46:18

    把全部代码贴出来!

    慕少8119...

    贴出来了

    2017-03-05 13:44:58

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题