Day01 자바스크립트 기본에 대한 소소한 사례들(문제해결을 위한 다양한 방법들)

오랜만에 업데이트하네요 솔직히 배운것도 많고 필기체라 다 빨리 배우고싶어서 업데이트 할 시간이 없네요 예전에 며칠간 소소한 사건들을 차례로 정리하겠습니다. 손을 연습하세요. 각 질문에는 여러 가지 쓰기 방법이 있습니다.

초보자에게 매우 친숙합니다! ! !

결국 나도 초보자입니다! ! !

더 이상 고민하지 않고 건조 제품으로 갑시다!

사례 1: 사용자가 프롬프트 상자에 생년월일과 문서가 인쇄된 기간을 입력합니다! (작성방법 3가지)

이 문제를 위해 세 가지 표기법을 정리했는데, 제목은 매우 간단하다. 

그들은:

1. 가장 일반적인 팝업창

2. 사용자가 입력한 내용이 숫자인지 판단 조건을 추가함과 동시에 입력이 맞을 때까지 while 루프 사용

3、isNaN + 동안

    // 方法一  最简单常规理想状态
    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: 입력 상자(프롬프트)가 두 번 팝업되어 두 번 합계를 계산합니다!

이것은 값을 두 번 취하고 숫자의 암시적 변환을 더한 정상적인 작업입니다. 프롬프트에서 받은 데이터 유형이 문자열이기 때문에 암시적 변환이 필요합니다!

    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:

[난이도 ★★★★★] 사용자가 세 자리 숫자를 입력하면 프로그램이 세 자리 숫자의 합을 계산(두 가지 방식으로 구현).

    // 예를 들어:    

    // 사용자가 155를 입력하면 11이 팝업됩니다.

    // 사용자가 316을 입력하면 10이 팝업됩니다.

    // 사용자가 989를 입력하면 26이 팝업됩니다.

    // 사용자가 678을 입력하면 21이 팝업됩니다.

    // 참고: 사용자가 입력한 숫자의 유효성과 합법성은 고려할 필요가 없습니다. 예를 들어, 사용자가 34343, "I love you"를 입력하면 우리는 이러한 상황을 고려할 필요가 없으며 사용자가 아주 잘할 것이라고 상상하고 반드시 3자리 숫자를 입력할 것입니다. if 문을 배우지 않았기 때문입니다.

이 주제는 주로 명확한 아이디어를 갖기 위한 것입니다. 여기에 두 가지 작성 방법이 있습니다.

핵심은 각각 1, 10, 100에서 숫자를 추출하는 방법입니다.

    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가지 사례를 정리했는데 도움이 되셨다면 좋아요 눌러주세요!

앞으로 여러분의 참고와 실습을 위해 다양한 실제 사례가 업데이트될 것이며 다양한 솔루션이 있으므로 즐겨찾기에 추가하는 것을 잊지 마십시오!

고마워 고마워~~~너~너~너~르~~

 

Supongo que te gusta

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