Day01 JavaScriptの基礎に関するいくつかの小さなケース (問題を解決するための複数の方法)

久しぶりの更新です.正直なところたくさんのことを学びました,そして私は筆記体です.私はすべてをより速く学びたいので,更新する時間がありません.過去に.数日後、いくつかの小さなケースを次々と整理していきます.手を練習してください.各質問にはいくつかの書き方があります.

初心者に超フレンドリー!! !

結局のところ、私も初心者です!! !

早速、乾物に行きましょう!

ケース 1; ユーザーがプロンプト ボックスに入力して、生年月日とドキュメントが印刷された年数を入力します。(3通りの書き方)

この設問は、3通りの書き方に分けられています.タイトルはとてもシンプルですが、3通りの書き方は主に、それぞれの方法の違いを理解してもらうためのものです. 

彼らです:

1. 最も一般的なポップアップ ウィンドウ

2. ユーザーが入力した内容が数字かどうかの判定条件を追加し、同時に入力が正しいまでwhileループを使用する

3、isNaN + while

    // 方法一  最简单常规理想状态
    var year = prompt('请输入年份:');
    age = 2022 - year;
    alert('你已经' + age + '岁了');


    // 方法二  复杂一点
    var flag = true;
    while (flag) {
        var year = +prompt('请您输入您的出生年份') // 前面写个 +  是把字符强制转成数字型
        if (typeof year === 'number') {
            var age = 2022 - year; // year 取过来的是字符串型  但是这里用的减法 有隐式转换
            alert('您今年已经' + age + '岁了');
            flag = false;
        } else {
            alert('请输入正确的数字类型');
            continue;
        }
    }

    // 方法三  用的isNaN
    var year = prompt('请您输入您的出生年份');
    var flag = isNaN(year);
    while (flag) {
        alert('请输入正确的数字类型');
        year = prompt('请您输入您的出生年份');

    }
    alert('您年龄是:' + (2022 - year));

ケース 2: 入力ボックス (プロンプト) が 2 回ポップアップして、2 回の合計を計算します!

これは通常の操作で、値を 2 回取り、さらに数値の暗黙的な変換を行います。プロンプトで受け取るデータ型は文字列であるため、暗黙的な変換が必要です。

    var num = prompt('请输入第一个值');
    var num1 = prompt('请输入第二个值');
    num = num - 0;
    num1 = num1 - 0;
    alert('两个数的和为' + parseFloat(num + num1))

事例3:【難易度★★★★】今日が土曜日なら1000日で何曜日?(4通りの書き方)

1. 通常のモジュロ演算

2. スイッチの分類についての説明は少し長くなりますが、考え方は非常に明快で理解しやすいものです。

3. 三項式の書き方

4.単純な数字

    // 方法一  默认今天是第一天  直接取余 
    var num = 1000 % 7 - 1;
    console.log('是的星期' + num + '啊');
    // 方法二  升级版  虽然有点长,不过思路很简单
    var time = prompt('今天是周六,你想知道多少天后是星期几吗?')
    time = time - 0;
    var time = time % 7;
    switch (time) {
        case 0:
            alert('星期六');
            break;
        case 1:
            alert('星期日');
            break;
        case 2:
            alert('星期一');
            break;
        case 3:
            alert('星期二');
            break;
        case 4:
            alert('星期三');
            break;
        case 5:
            alert('星期四');
            break;
          default:
            alert('星期五');
    }
    // 方法三  三元表达式
    var newTime = +prompt('请输入您要查询的日期(可以显示星期几):')
    var num = newTime % 7  // 必须得加一个结果 不然alert  没法调用结果
    var re = newTime % 7 < 3 ? num + 5 : num - 2;
    alert(newTime + '号是星期' + re)

    // 方法四   简单数字类
    var newTime = +prompt('请输入您要查询的日期(可以显示星期几):')
    var num = newTime % 7;
    if (num < 6) {
        alert(newTime + '号是星期' + (num + 2))
    } else {
        alert(newTime + '号是星期' + (num - 5))
    }   

ケース 4:

【難易度 ★★★★★】 ユーザーが3桁の数字を入力すると、プログラムが3桁の数字の和を計算します(2通りで実現)。

    // 例えば:    

    // ユーザーが 155 を入力すると、11 がポップアップします

    // ユーザーが 316 を入力すると、10 がポップアップします

    // ユーザーが 989 を入力すると、26 がポップアップします

    // ユーザーが 678 を入力すると、21 がポップアップします

    // 注: ユーザーが入力した数値の有効性と合法性を考慮する必要はありません。たとえば、ユーザーが 34343、「I love you」と入力した場合、この状況を考慮する必要はありません。ユーザーが非常に優秀で、間違いなく 3 桁を入力すると想像してください。これは if 文を学習していないためです。

このトピックは主に明確なアイデアを得るためにあります。ここでは 2 つの書き方を示します。

核心は、一、十、百の数をそれぞれどのように抽出するかです。

    alert('方法一')
    var num5 = prompt('请输入一个三位数')

    num.substring

    var num6 = num5[0] - 0;
    var num7 = num5[1] - 0;
    var num8 = num5[2] - 0;
    var num9 = num8 + num6 + num7;
    alert('三位数相加等于' + num9);


    alert('方法二')
    var num5 = prompt('请输入一个三位数')
    var num5 = num5 - 0;
    var num6 = num5 % 10;//个位数           3
    var num7 = num5 % 100;
    num7 = parseInt(num7 / 10);//十位数      2.3  2       
    var num8 = parseInt(num5 / 100);//百位数
    var num9 = num8 + num6 + num7;
    alert('个位数:' + num6);
    alert('十位数:' + num7);
    alert('百位数:' + num8);
    alert('三位数相加等于' + num9);

ケース 5: この質問の書き方には、基本クラス、アップグレード版、および作業版の 3 つの方法があります。

    // ###1- 期間を決定します。

    // - タイトル説明:

    // ユーザーはいくつかのポイントを入力して、挨拶メッセージをポップアップ表示します。

    // ユーザーが正午 12:00 に入った場合。

    // ユーザーが 18 時に入力すると、こんばんはポップアップします。

    // ユーザーが 23 時に入力し、深夜にポップアップします。

    // 方法一  硬性的几个答案
    var time = prompt('请输入时间点:')
    if (time == 12 || time == '12点') {
        alert('中午好!')
    } else if (time == 18 || time == '18点') {
        alert('傍晚好!')
    } else if (time == 24 || time == '24点') {
        alert('晚上好!')
    }

    // 方法二  输入时间段问好

    var now = +prompt('请输入时间点:')
    if (now > 0 && now <= 6) {
        alert('午夜好!')
    } else if (now > 6 && now <= 11) {
        alert('早上好!')
    } else if (now > 11 && now <= 14) {
        alert('中午好!')
    } else if (now > 14 && now <= 18) {
        alert('下午好!')
    } else {
        alert("晚上好!");
    }


    // 方法三  实时时间问好。访问现在电脑时间,跳出信息框,大网站基本上都有这种定点提示框
    var now = (new Date()).getHours();
    if (now > 0 && now <= 6) {
        alert('午夜好!')
    } else if (now > 6 && now <= 11) {
        alert('早上好!')
    } else if (now > 11 && now <= 14) {
        alert('中午好!')
    } else if (now > 14 && now <= 18) {
        alert('下午好!')
    } else {
        alert("晚上好!");
    }

今日は5つのケースを整理しました。お役に立ったら、忘れずに気に入ってください!

将来的には、参考と実践のためにさまざまな実用的なケースが更新されます。さまざまな解決策があります。ブックマークすることを忘れないでください。

ありがとうありがとう~~~you~you~you~le~~

 

おすすめ

転載: blog.csdn.net/fightingLKP/article/details/124069800