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

有几个问题不懂

<script type="text/javascript">

   function count(){

   var a=document.getElementById("txt1").value;    

   var b=document.getElementById("txt2").value;

   var c=document.getElementById("select").value;

   var d="";

   switch(c){

    case "+":

    d=parseInt(a)+parseInt(b);

    break;

    case "-":

    d=a-b

    break;

    case "*":

    d=a*b

    break;

    default:

    d=a/b

   }

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

   }

1.var a=document.getElementById("txt1").value;与document.getElementById("txt1").value=a这两种写法的区别是什么?为什么前一个可以运行,后一个不能?

2.var d=""这里代表什么意思?在后面再写document.getElementById("fruit").value=d,顺序可以改变吗?为什么不可以直接写成      var d=document.getElenmetById("fruit").value

3.若写成d=a+b,运算结果为d=ab,只有写成d=pareInt(a)+pareInt(b)结果才正确;而其余减法,乘法,除法直接写d=a-b;d=a*b;d=a/b就能行?  

              

正在回答

1 回答

  1. 等号右边的值赋给等号左边,所以前者是在做获取document.getElementById("txt1")的value值,赋给a,后者做的是把a的值赋给document.getElementById("txt1").value,此时a没有值。

  2. 声明一个d,是个字符串,暂时没内容,顺序不可变,因为是2个意思,上面说了

  3. 因为+的时候会被当做2个字符串相连,所以需要转换一下告诉程序我这是要进行加法运算。字符串相连不就是"我是字符串1"+"我是字符串2"吗,其他3种运算符没有这种功能,不需要额外区分

    等号左右这个,你可以理解成右边的东西给左边,a=b是b给a值,b=a就是a给b值了,我的钱给你跟你的钱给我显然是2个事,顺序自然不能更改,谁在左边谁获得

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

慕丝6245747 提问者

嗯,基本上懂了。就是var d="",声明是字符串这里还不太明白,为什么要声明是字符串?d是获取结果输入框的值,直接var d=document.getElementById("fruit").value为什么也不行?
2016-04-29 回复 有任何疑惑可以回复我~
#2

kuban 回复 慕丝6245747 提问者

var d=document.getElementById("fruit").value这个写法没有错误,可以的,也可以就是var d,写法很多,看个人习惯而已。不过到d这里是要把计算好的值给输入框的value达到显示目的,所以要document.getElementById("fruit").value=d;
2016-04-29 回复 有任何疑惑可以回复我~
#3

慕丝6245747 提问者 回复 kuban

明白了。谢谢!
2016-04-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468194    人
  • 解答问题       21891    个

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

进入课程

有几个问题不懂

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