javascript - 为什么我在 JavaScript 中得到 "undefined"

标签 javascript

你能帮忙吗,为什么我得到这个 undefined 值而不是返回 a

var a = 0;
var m = 888;
 
function sevens(m, a) {   
      if (m == 0) {
          document.write("Amount of 8's is "+a+"<br>");
          return a;
      } else {
         if(Math.floor(m % 10) == 8) {
             a++;
             sevens(Math.floor(m / 10), a);
         } else {
             sevens(Math.floor(m / 10), a);
         }
     }
 }
 
 document.write("in "+m + " " + "it is" + " " + sevens(m, a));

提前谢谢你。

最佳答案

函数需要在 else 语句中返回一些东西。像这样:

function sevens(m, a){   
              if(m == 0){
                  document.write("Amount of 8's is "+a+"<br>");
                  return a;
              }else{
                 if(Math.floor(m % 10) == 8){
                     a++;
                     return sevens(Math.floor(m / 10), a);
                 }else{
                     return sevens(Math.floor(m / 10), a);
                 }
             }
         }

关于javascript - 为什么我在 JavaScript 中得到 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35815671/

相关文章:

javascript - 按钮 : calling "onclick" parent's element instead of itself (HTML Button) 的奇怪行为

javascript - 如何在fabricjs Canvas 上对圆的scaleX和scaleY进行动画处理

javascript - 将 CSS 属性的值作为变量存储在外部配置文件中

javascript - 如何通过javaScript访问类名

javascript - 函数已执行,但抛出错误

javascript - 在 Protractor 测试中设置 chromedriver 首选项

javascript - casperjs无限循环超时不等待

javascript - 使用 Bluebird Promise 创建节流功能

javascript - 如何在 openweather API 中获取地理定位

javascript - 是什么导致我的 React 应用程序中出现警告 "Unexpected Fiber popped"?