问答详情
源自:6-11 编程练习

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

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;
   }


提问者:慕少8119580 2017-03-04 15:32

个回答

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

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

  • 疯小蕾
    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的值,所以下面的代码正确

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

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

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

    把全部代码贴出来!