Día02 Algunos pequeños casos sobre los conceptos básicos de JavaScript (múltiples métodos para resolver problemas)

        Hoy comencé a ordenar el pequeño caso de JavaScript de la segunda parte. Originalmente planeé ordenar todos los artículos, pero cuando busqué, encontré que si un pequeño socio busca las palabras clave de una de las preguntas, si está debajo , es muy difícil de encontrar. .

Por ejemplo, hay 100 casos en este artículo y algunos amigos buscaron la pregunta 67, que es muy difícil de encontrar, así que decidí establecer 5 casos para cada artículo en el futuro .

Cuando es conveniente para todos, también me lo tomo con calma. Si el artículo del hermano menor te es útil, ¡recuerda darle pulgar arriba!

Sin más preámbulos, ¡vamos a los productos secos de hoy!

Sin más preámbulos, ¡vamos a los productos secos de hoy!

Sin más preámbulos, ¡vamos a los productos secos de hoy!

Caso 1: (6 métodos) Comparar el valor máximo de dos números

// - Descripción del título: el usuario ingresa 2 valores en secuencia, y el valor más grande aparece al final

// - Sugerencia sobre el tema: extraiga el valor máximo a través de operadores de comparación

Las ideas de los seis métodos son:

Método 1: use una declaración if para hacer un juicio simple en un estado ideal

Método 2: Usa expresiones ternarias para completar el efecto correspondiente

Método 3: use el interruptor para salir de la definición del interruptor. Si comprende este punto, no debe haber ningún problema detrás del interruptor.

Los tres siguientes se basan en condiciones no ideales, que son para juzgar si la entrada del usuario es un número y están más cerca del entorno de desarrollo en el trabajo.

Método 4: la versión mejorada agrega un ciclo, que puede determinar que si no es un número, debe volver a ingresarse y también se puede comparar todo el tiempo

Método 5: use isNaN para determinar si la entrada es un número

Método 6: use number() para convertir cadenas en números a la fuerza      

Nota complementaria: los últimos tres métodos usan el conocimiento de los próximos dos días y puede usarlos de manera flexible después de la vista previa

// 方法一  用if 语句
    var num1 = +prompt('请输入第一个值:')
    var num2 = +prompt('请输入第二个值:')
    if (num1 > num2) {
        alert('两个数的较大的一个为:' + num1)
    } else {
        alert('两个数的较大的一个为:' + num2)
    }
    // 方法二  用三元表达式
    var num1 = +prompt('请输入第一个值:')
    var num2 = +prompt('请输入第二个值:')
    var max = num1 >= num2 ? num1 : num2;
    alert('两个数的较大的一个为:' + max)
    // 方法三 用switch 做   退出用的switch定义  参考老叶的ATM机

    var num1 = +prompt('请输入第一个值:')
    var num2 = +prompt('请输入第二个值:')
    var flag = true;
    switch (flag) {
        case num1 > num2:
            alert('两个数的较大的一个为:' + num1)
            break;
        case num1 <= num2:
            alert('两个数的较大的一个为:' + num2)
            break;
        default:
            break;
    }

    //方法四 升级版  加入了一个循环  可以判断如果不是数字需要重新输入  也可以一直比较
    var flag = true;
    while (flag) {
        var num1 = +prompt('请输入第一个值:')
        var num2 = +prompt('请输入第二个值:')
        switch (flag) {
            case num1 > num2:
                alert('两个数的较大的一个为:' + num1)
                flag = false;
                break;
            case num1 <= num2:
                alert('两个数的较大的一个为:' + num2)
                flag = false;
                break;
            default:
                alert('您的输入有误,请重新输入数字!')
                break;
        }
    }

    // 方法五
    var flag = true;
    while (flag) {
        var num1 = +prompt('请输入第一个值');
        var num2 = +prompt('请输入第二个值');
        // console.log(typeof num1);
        // if (!isNaN(num1) == true && !isNaN(num2) == true) {
        if (!isNaN(num1) && !isNaN(num1)) {
            // console.log(num1);
            if (num1 > num2) {
                alert('您输入最大的数值为:' + num1);
                flag = false;
            } else {
                alert('您输入最大的数值为:' + num2);
                flag = false;
            }
        } else {
            alert('请输入正确的数值');
            continue;
        }
    }

    // 方法六  
    var num1 = prompt('请输入第一个值');
    var num2 = prompt('请输入第二个值');

    console.log(Number(num1), Number(num2));
    if (Number(num1).toString() == NaN.toString() || Number(num2).toString() == NaN.toString()) {
        alert('NOT OK')
    } else {
        if (num1 > num2) {
            alert('两个值较大的一个为' + num1)
        } else {
            alert('两个值较大的一个为' + num2)
        }
    }
    // ### 3 - 判断奇偶性
    // - 题目描述:
    //   ​	用户输入一个数,判断是奇数还是偶数

    // 方法一  用if 语句

    var num = +prompt('请输入一个数字:')
    if (num % 2 == 0) {
        alert('这是一个偶数')
    } else {
        alert('这是一个奇数')
    }
    // 方法二  用三元表达式
    var num = +prompt('请输入一个数字:')
    var re = num % 2 == 0 ? '偶数' : '奇数';
    alert('这是一个' + re)
    // 方法三 用switch 做   退出用的switch定义  参考老叶的ATM机
    var num = +prompt('请输入一个数字:')
    switch (num % 2) {
        case 0:
            alert('这是一个偶数');
            break;
        case 1:
            alert('这是一个奇数数');
            break;
        default:
            alert('输得什么玩意儿');
            break;
    }

    // 方法三升级  加上while  让它判断持续输出  想出去 可以让flag 为false

    var flag = true;
    while (flag) {
        var num = +prompt('请输入一个数字:')
        switch (num % 2) {
            case 0:
                alert('这是一个偶数');
                flag = false;
                break;
            case 1:
                alert('这是一个奇数数');
                flag = false;
                break;
            default:
                alert('输得什么玩意儿,重新输!');
                break;
        }
    }

Caso 2: (3 métodos) Invitar a los invitados a cenar

    // ​ Recibe la cantidad de dinero en el bolsillo del monitor?

    // ​Si es mayor o igual a 2000, come comida occidental.

    // ​Si es menor a 2000, mayor o igual a 1500, por favor coma comida rápida.

    // ​ Si es menor a 1500, mayor o igual a 1000, por favor beba.

    // ​ Si es menor a 1000, mayor o igual a 500, por favor coma piruletas.

    // ​ De lo contrario, recuerda al monitor que traiga suficiente dinero la próxima vez

Tres formas de pensar:

1. Declaración regular de if

2. Cambiar a reescribir

3. Anidamiento de doble capa de expresiones ternarias 

    // 方法一  常规的if语句 
    var monitorMoney = +prompt('班长口袋中有多少钱:')
    if (2000 <= monitorMoney) {
        alert('班长:我请大家吃西餐!')
    } else if (1500 <= monitorMoney) {//  有个注意点 不能够写成(1500 <= monitorMoney < 2000)    但是可以写成 (1500 <= monitorMoney && monitorMoney< 2000)
        alert('班长:我请大家吃快餐!')
    } else if (1000 <= monitorMoney) {
        alert('班长:我请大家喝饮料!')
    } else if (500 <= monitorMoney) {
        alert('班长:我请大家吃棒棒糖!')
    } else if (monitorMoney < 500) {
        alert('哪怕身上无分文,也要花呗度佳人!')
    }


    // 方法二
    var monitorMoney = +prompt('班长口袋中有多少钱:')
    if (monitorMoney > 0) {
        var num1 = parseInt(monitorMoney / 500)
        switch (num1) {
            case 0:
                alert('哪怕身上无分文,也要花呗度佳人!')
                break;
            case 1:
                alert('班长:我请大家吃棒棒糖!')
                break;
            case 2:
                alert('班长:我请大家喝饮料!')
                break;
            case 3:
                alert('班长:我请大家吃快餐!')
                break;
            default:
                alert('班长:我请大家吃西餐!')
                break;
        }
    } else {
        alert('你真是个老穷批')
    }

// 方法三  如果非要用三元表达式,也能做,不过在if中嵌套,而且得用两次三元,毕竟一次三元只出两个结果,而且三元出的是个值,还得用取整   不推荐  大家可以自己摸索一下,  也可以给我留言大家一块整整

Caso 3: (2 formas de escritura) Recibir el nombre de usuario y contraseña ingresados ​​por el usuario

Si el nombre de usuario es admin y la contraseña es 123456 , le pedirá al usuario que inicie sesión correctamente. Si es incorrecto, le indicará que el número de cuenta o la contraseña son incorrectos, vuelva a ingresar la contraseña.

Método 1: anidamiento de doble capa de expresiones ternarias (Observe este caso, puede profundizar su comprensión de las expresiones ternarias)

Método 2: expresión ternaria normal + operador lógico AND

    var myName = prompt('请输入用户名:')
    var password = prompt('请输入密码:')
    var re = myName == 'asd' ? (password == '123' ? '成功登录' : '密码错误') : '密码名错误'
    console.log(re);
    alert(re)

    // 方法二  三元运算符 判断两个条件
    var name = prompt('请输入姓名')
    var password = prompt('请输入密码')
    var result = name == 'aaa' && password == '123' ? 'ok' : 'not ok'
    console.log(result);
    alert(result)

Caso 4: (4 formas de escribir) Conversión de puntuación, dar una puntuación y juzgar la calificación. Mayor o igual a 90 A, mayor o igual a 80 y menor a 90 B, mayor o igual a 70 y menor a 80 C, mayor o igual a 60 y menor a 70 D, menor a 60 E 

Método 1: Convencional si se escribe

Método 2: la versión mejorada agrega un ciclo, más competente en el ciclo

Método 3: use un interruptor para escribir algunos casos más. Idealmente, la entrada es una puntuación, que se convierte directamente en un número.

Método 4: versión mejorada. Ten en cuenta todos los factores. ¿Es un número? ¿Necesitas hacer un bucle? ¿Cómo salir?

// 方法一  常规
    var score = prompt('请输一个分数:')
    if (0 <= score && score <= 100) {
        if (score >= 90) {
            alert('您的等级是A')
        } else if (score >= 80) {
            alert('您的等级是B')
        } else if (score >= 70) {
            alert('您的等级是C')
        } else if (score >= 60) {
            alert('您的等级是D')
        } else {
            alert('您的等级是E')
        }
    } else {
        alert('您的输入有误,青重新输入')
    }

    // 方法一  升级版

    var flag = true;
    while (flag) {
        var score = prompt('请输一个分数:\n 如果退出请输入:退出')
        if (0 <= score && score <= 100) {
            if (score >= 90) {
                alert('您的等级是A')
            } else if (score >= 80) {
                alert('您的等级是B')
            } else if (score >= 70) {
                alert('您的等级是C')
            } else if (score >= 60) {
                alert('您的等级是D')
            } else {
                alert('您的等级是E')
            }
        } else if (score == '退出') {
            flag = false;
        } else {
            alert('您的输入有误,青重新输入')
        }
    }


    // 方法三 用switch  做   多写几个case  理想状态下  输入的是分数,直接转成数字型
    var score = +prompt('请输一个分数:\n 如果退出请输入:退出')
    var num = parseInt(score / 10)
    switch (num) {
        case 10:
            alert('您的等级是A')
            break;
        case 9:
            alert('您的等级是A')
            break;
        case 8:
            alert('您的等级是B')
            break;
        case 7:
            alert('您的等级是C')
            break;
        case 6:
            alert('您的等级是D')
            break;
        default:
            alert('您的等级是E')
            break;
    }


    // 方法四  升级版  把所有因素都考虑进去 是不是数字,需不需要循环,多次查询  怎样退出
    var flag = true;
    while (flag) {
        var score = prompt('查询器\n 请输一个分数:\n 如果退出请输入:退出')
        if (0 <= score && score <= 100) {
            var num = parseInt(score / 10)
            switch (num) {
                case 10:
                    alert('您的等级是A')
                    break;
                case 9:
                    alert('您的等级是A')
                    break;
                case 8:
                    alert('您的等级是B')
                    break;
                case 7:
                    alert('您的等级是C')
                    break;
                case 6:
                    alert('您的等级是D')
                    break;
                default:
                    alert('您的等级是E')
                    break;
            }

        } else if (score == '退出') {
            flag = false;
        } else {
            alert('您的输入有误,青重新输入')
        }
    }

Caso 5: (2 formas de escritura)

El número de la suerte de la lotería es 6. El usuario tiene tres oportunidades. Ingrese 6 dentro de tres veces, y no aparecerán las felicitaciones. Si falla tres veces, fallará.

Método 1: no lo hagas en un bucle (ejerce nuestra habilidad lógica si)

Método 2: Hazlo con un bucle (puedes escribir los tres bucles de if while do...while, siempre es bueno tener más principiantes)

    // 不用循环做
    var lucky1 = prompt('你有三次机会,请输入数字');
    if (lucky1 == 6) {
        alert('恭喜你中奖')
    } else if (lucky1 != 6) {
        var lucky2 = prompt('你还有两次机会,请输入数字');
        if (lucky2 != 6) {
            var lucky3 = prompt('你只有一次机会,请输入数字');
            if (lucky3 != 6) {
                alert('非常遗憾')
            } else {
                alert('恭喜你中奖')
            }
        } else {
            alert('恭喜你中奖')
        }
    }

    // 用循环做
    var lucky1 = prompt('你有三次机会,请输入数字');
    for (var i = 2; i >= 1; i--) {
        if (lucky1 == 6) {
            alert('恭喜你中奖')
            break;
        } else {
            var lucky3 = prompt('你还有' + i + '次机会,请输入数字');
        }
    }

He resuelto 5 casos hoy, si te es útil, ¡recuerda darle me gusta!

En el futuro, se actualizarán varios casos prácticos para su referencia y práctica, y hay varias soluciones, ¡recuerde marcarlo como favorito!

Gracias gracias~~~tú~tú~tú~le~~

Supongo que te gusta

Origin blog.csdn.net/fightingLKP/article/details/124100786
Recomendado
Clasificación