Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这个代码可以用更少的步骤完成吗?_Javascript_Jquery_Html_Css_Math - Fatal编程技术网

Javascript 这个代码可以用更少的步骤完成吗?

Javascript 这个代码可以用更少的步骤完成吗?,javascript,jquery,html,css,math,Javascript,Jquery,Html,Css,Math,我觉得有些事情比实际情况困难得多。所以我只是想知道是否有一种更短的方式来编写我的代码。基本上只是想让用户知道他们有多热| | |冷,但感觉我用了太多行代码。那么Math.abs()是将每个数字转换为正数的最简单方法吗?如有任何见解,将不胜感激 $("#guessButton").click(function(e) { e.preventDefault(); counter++; $('#count').text(counter);

我觉得有些事情比实际情况困难得多。所以我只是想知道是否有一种更短的方式来编写我的代码。基本上只是想让用户知道他们有多热| | |冷,但感觉我用了太多行代码。那么Math.abs()是将每个数字转换为正数的最简单方法吗?如有任何见解,将不胜感激

$("#guessButton").click(function(e) {
        e.preventDefault();
        counter++;
        $('#count').text(counter);
        var guess = $('#userGuess').val();
        if (guess == number) {
            $('#feedback').text("You've guessed the number!!");
            $('#guessList').append("<li>"+guess+"</li>");
        } else if (Math.abs(number-guess) <= 50 && Math.abs(number-guess) >= 30) {
            $('#feedback').text("Cold");
            $('#guessList').append("<li>"+guess+"</li>");
        } else if (Math.abs(number-guess) <= 30 && Math.abs(number-guess) >= 20) {
            $('#feedback').text("Warm");
            $('#guessList').append("<li>"+guess+"</li>");
        } else if (Math.abs(number-guess) <= 20 && Math.abs(number-guess) >= 10) {
            $('#feedback').text("Hot");
            $('#guessList').append("<li>"+guess+"</li>");
        } else if (Math.abs(number-guess) <= 10 && Math.abs(number-guess) >= 1) {
            $('#feedback').text("Very Hot");
            $('#guessList').append("<li>"+guess+"</li>");
        } else if (Math.abs(number-guess) > 50) {
            $('#feedback').text("Ice Cold");
            $('#guessList').append("<li>"+guess+"</li>");
        }
    });  
$(“#猜测按钮”)。单击(函数(e){
e、 预防默认值();
计数器++;
$('#count')。文本(计数器);
var guess=$('#userGuess').val();
如果(猜测==数字){
$(“#反馈”).text(“你猜到了数字!!”;
$(“#猜测列表”)。追加(“
  • ”+guess+”
  • ”); }else if(数学绝对值(数字猜测)=30){ $(“#反馈”)。文本(“冷”); $(“#猜测列表”)。追加(“
  • ”+guess+”
  • ”); }else if(数学绝对值(数字猜测)=20){ $(“#反馈”)。文本(“温暖”); $(“#猜测列表”)。追加(“
  • ”+guess+”
  • ”); }else if(数学绝对值(数字猜测)=10){ $(“#反馈”)。文本(“热门”); $(“#猜测列表”)。追加(“
  • ”+guess+”
  • ”); }else if(数学abs(数字猜测)=1){ $(“#反馈”).text(“非常热”); $(“#猜测列表”)。追加(“
  • ”+guess+”
  • ”); }否则如果(数学绝对值(数字猜测)>50){ $(“#反馈”)。文本(“冰冷”); $(“#猜测列表”)。追加(“
  • ”+guess+”
  • ”); } });
    以下是对您的问题的快速回答,我认为可能会有所帮助。我对全局变量做了一些假设,但我希望在很大程度上会有所帮助

    $("#guessButton").click(function(e) {
        e.preventDefault();
        counter++; //ill assume this is global
        $('#count').text(counter);
    
        var feedBack;
        var guess = $('#userGuess').val();
        var absVal = Math.abs(number-guess); //ill assume number is global
    
        if (guess == number) {
            feedBack = "You've guessed the number!!";
    
        }else if (absVal > 50) {
            feedBack = "Ice Cold";
    
        }else if (absVal >= 30) {
            feedBack = "Cold";
    
        } else if (absVal >= 20) {
            feedBack = "Warm";
    
        } else if (absVal >= 10) {
            feedBack = "Hot";
    
        } else if (absVal >= 1) {
            feedBack = "Very Hot";
    
        } 
    
        $('#feedback').text(feedBack);
        $('#guessList').append("<li>"+guess+"</li>");
    });
    
    $(“#猜测按钮”)。单击(函数(e){
    e、 预防默认值();
    计数器+++;//我假定这是全局的
    $('#count')。文本(计数器);
    var反馈;
    var guess=$('#userGuess').val();
    var absVal=Math.abs(数字猜测);//我假设数字是全局的
    如果(猜测==数字){
    feedBack=“你猜对数字了!!”;
    }否则,如果(absVal>50){
    反馈=“冰冷”;
    }否则如果(absVal>=30){
    反馈=“冷”;
    }否则如果(absVal>=20){
    反馈=“温暖”;
    }否则如果(absVal>=10){
    反馈=“热”;
    }否则如果(absVal>=1){
    反馈=“非常热”;
    } 
    $(“#反馈”)。文本(反馈);
    $(“#猜测列表”)。追加(“
  • ”+guess+”
  • ”); });
    EWW…首先,将Math.abs(数字猜测)保存到一个变量。这个问题更适合于。是的,在很多方面。一对夫妇:1。不要重复你自己,例如你计算了几次Math.abs(数字猜测),当你可以在上面做一次,然后将结果命名为diff.2。查看开关。3.将输出构建成一个字符串,然后调用
    $(“#猜测列表”)。将该字符串附加到底部的
    ,而不是将所有这些调用放在中间块。基本上,您是用数字计算用户猜测的距离,然后将距离映射到一个字符串。使用按最大距离升序排列的“最大距离-->字符串”映射,并使用该映射将计算的距离转换为字符串,怎么样?啊,明白了。真的很感谢你的建议,但是否决票是必要的,哈哈。我想问一些新手类型的问题会对我们很多新手有所帮助。但不用担心,我下次不会在这个论坛上这么做。希望有一天我能和你们一样。再次感谢!