永发信息网

简单js的问题

答案:2  悬赏:30  手机版
解决时间 2021-11-25 12:51
简单js的问题
最佳答案
1.var con 后显示的是content.value的值 并不是content.value这个函数
btn.onclick=function (){
    var mValue=m.value;
    var con=content.value;
    console.log(typeof con);//string
    if(mValue>1){
        con=mValue*(mValue-1);
        console.log(con);//90
        console.log(typeof con);//number
    }else if(mValue===1){
        con=1;
    }else{
        alert("请输入一个非负整数!");
    }
}2.实现阶乘 可用下面这个函数
btn.onclick=function (){
    var mValue=m.value;
    if(mValue<1){
        alert("不能输入负值");
        return false;
    }
    var sum = 1;
    while (mValue){
        sum = sum*mValue--;
    }
    content.value = sum;
}
全部回答
if (mValue > 1) {
            content.value = mValue * (mValue - 1);
          } else if (mValue == 1) {
            content.value = 1;
          } else {
            alert("请输入一个非负整数!");
          }

最后几句

把con=mValue*(mValue-1);改成content.value

var con后,con已经是值了,不是对象

追问

嗯嗯,我修改了一下,可是阶乘部分求不出来,显示的错误是:Uncaught RangeError: Maximum call stack size exceeded...

追答

是栈溢出的问题,你的嵌套语句有问题

window.onload = function() {
        var m = document.getElementById("text");
        var btn = document.getElementById("button");
        var content = document.getElementById("result");
        btn.onclick = function() {
          var mValue = m.value;
          var con = content.value;
          if (mValue > 1) {
            content.value = jc(mValue);
          } else if (mValue == 1) {
            content.value = 1;
          } else {
            alert("请输入一个非负整数!");
          }

        }
        
        function jc(j){
          if(j==1){
            return 1;
          }else{
            return j*jc(j-1);
          }
        }

      }

如果要实现阶乘,这边另一个哥们写的很好了,用while语句简洁明了

btn.onclick=function (){
    var mValue=m.value;
    if(mValue<1){
        alert("不能输入负值");
        return false;
    }
    var sum = 1;
    while (mValue){
        sum = sum*mValue--;
    }
    content.value = sum;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电热水壶烧水1.5l和0.5l用时是一样的吗
江门建设路和蓬菜路交叉路口在那
全柴国三发动机转速传感器信号故障
做沙琪玛可以加入花生吗的做法
1. 基于顺序表实现线性表的以下操作: a) 顺
灰天鹅的组队飞行
天岚印刷厂地址好找么,我有些事要过去,
gtxgtx1050二G独立显卡,i7处理器,一Tb机械
为什么他跟个女的跑了现在还没后悔
如何把草书图翻译成汉字
求问战国都出过哪些手办
今天云南红河香蕉价
谁知道这些图片出自哪? 游戏?漫画?动漫?
天益二手车行汽车保险服务中心地址有知道的么
人是不是营群体生活的动物
推荐资讯
111*37+999*7都简便方法是什么
谁有成人快手 百度网盘发一下
辽宁大连如何考取导游证
紫色的花四个花瓣草本植物是什么植物
藁城市南留村在哪我在化工园区徐村怎么开车怎
怎样和已婚少妇打招呼
公牛装饰开关拿货价是几折
甘孜州道孚县八美镇离乐山市乌斯河火车站有多
为什么孩子从小就要开始学国学
本人想在老家搞个稻草加工,谁知道哪里有设备
求极米推手网址,从哪里进
女士每天喝多少红酒养颜?【镇氏麻塘】
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?