JavaScript第一阶段学习习题汇总

1.用户从键盘输入三个整数,找出其中最大的整数,并对其输出。
 <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
      <script>
        var a1,a2,a3;
        a1 = +(window.prompt("请输入第一个数"));
        a2 = +(window.prompt("请输入第二个数"));
        a3 = +(window.prompt("请输入第三个数"));
        console.log((a1>a2 ? a1 : a2) > a3 ? (a1>a2 ? a1 : a2) : a3) ;
    
      </script>
    </body>
</html>
2.“石头、剪刀、布”游戏的实现。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>猜拳游戏</title>
</head>
<body>

<script>
    var player ,computer;
    computer = parseInt(Math.random()*3);
    player = parseInt(+(window.prompt("请出拳:0->石头;1->剪刀;2->布;")));
    if(player < 0 || player >2){

        player = parseInt(+(window.prompt("请重新出拳:0->石头;1->剪刀;2->布;")));

    }else{
        if((player===0 && computer===1)
            ||(player===1 && computer===2)
            ||(player===2 && computer===0)){
            alert("电脑出拳是:"+computer+"  你赢了");
        }else if((player===0 && computer===2)
                ||(player===1 && computer===0)
                ||(player===2 && computer===1)){
            alert("出拳规则:0->石头;1->剪刀;2->布\n" + "电脑出拳是:"+computer+"\n你出拳是:"+player+"\n你输了");
        }else{
            alert("电脑出拳是:"+computer+"  平局了");
        }
    }

</script>
</body>
</html>
3.打印好友列表
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>好友列表</title>
</head>
<body>

<script>
for(var i =1;i<3;i++){
    console.log("好友列表" + i);
    for(var j =1;j<6;j++){
        console.log("    好友" + j);

    }
}
</script>
</body>
</html>
4.打印99乘法表
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>99乘法表</title>
    <style>
        span{
            display: inline-block;
            border: 1px solid #000;
            padding: 10px;
        }
    </style>
</head>
<body>

<script>
for(var i = 1;i<=9;i++){
    for(var j = 1;j<=i;j++){
        document.write("<span>"+j+"*"+i+"="+i*j+"</span>");
    }
    document.write("</br>");
}

</script>
</body>
</html>
5、遍历数组[10, 1, 19, 22, 73], 将其中的偶数找出
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>

</head>
<body>

<script>
var arr1 = [1,2,3,4,5,6,7,8];
    for(var i=0;i < arr1.length;i++){
        if(arr1[i] % 2 === 0){
            console.log(arr1[i]);
        }
    }
</script>
</body>
</html>
6、求取数组中最大值与最小值及其所在位置
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>

</head>
<body>

<script>
    var arr = [0,1,2,3,4,5];
    var Maxval = arr[0];
    var Minval = arr[0];
    var Maxind = 0;
    var Minind = 0;
    for(var i=1;i<arr.length;i++){
        if(arr[i]>Maxval){
            Maxval = arr[i];
            Maxind = i;
        }
    if(arr[i]<Minval){
            Minval = arr[i];
            Minind = i;
        }
    }
        console.log("最大值是:"+Maxval);
        console.log("最大值在第" + (Maxind+1) + "位");
        console.log("最小值是:"+Minval);
        console.log("最小值在第" + (Minind+1) + "位");
</script>
</body>
</html>
7、将数组中值为0的去掉,不为0的存入一个新数组
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>

</head>
<body>

<script>
    var arr = [0,"刘备",0,"关羽",0,"张飞",0];
    var arr0 = [];
    for(var i=0; i<arr.length; i++){
        if(arr[i] !== 0){
            arr0[arr0.length]= arr[i];
        }
    }
console.log(arr0);
</script>
</body>
</html>
8、从键盘输入3个整数,排序后输出?

法一:

//    1.定义变量保存三个整数
    var a, b, c;
//    2.利用window.prompt接收用户输入的数据
    a =  +(window.prompt("请输入内容"));
    b =  +(window.prompt("请输入内容"));
    c =  +(window.prompt("请输入内容"));
    //     方式1 写出所有方式
    if (a >= b && b >=c) {
        console.log(a, b, c);
    }else if (a >= c && c >= b) {
        console.log(a, c, b);
    }else if (b >= a && a >= c) {
        console.log(b, a, c);
    }else if (b >= c && c >= a) {
        console.log(b, c, a);
    }else if (c >= a && a >= b) {
        console.log(c, a, b);
    }else if (c >= b && b >= a) {
        console.log(c, b, a);
}

法二:

//    1.定义变量保存三个整数
    var a, b, c;
//    2.利用window.prompt接收用户输入的数据
    a =  +(window.prompt("请输入内容"));
    b =  +(window.prompt("请输入内容"));
    c =  +(window.prompt("请输入内容"));
//     方式2 冒泡排序
    var temp;
    if (a > b) {
        temp = a;
        a = b;
        b = temp;
    }
    if (b > c) {
        temp = b;
        b = c;
        c = temp;
    }
    if ( a > b) {
        temp = a;
        a = b;
        b = temp;
    }
    console.log(a, b, c);

法三:

//    1.定义变量保存三个整数
    var a, b, c;
//    2.利用window.prompt接收用户输入的数据
    a =  +(window.prompt("请输入内容"));
    b =  +(window.prompt("请输入内容"));
    c =  +(window.prompt("请输入内容"));
//     方式3 选择排序
    var temp;
    if (a > b) {
        temp = a;
        a = b;
        b = temp;
    }
    if (a > c) {
        temp = a;
        a = c;
        c = temp;
    }
    if ( b > c) {
        temp = b;
        b = c;
        c = temp;
    }
    console.log(a, b, c);
9.要求用户输入一个分数,根据输入的分数输出对应的等级

A:90~100
B:80~89
C:70~79
D:60~69
E:0~59

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>

</head>
<body>

<script>
    var a = +(window.prompt("请输入你的成绩"));
switch(parseInt(a/10)){
    case 10:
    case 9:
        alert("A");
        break;
    case 8:
        alert("B");
        break;
    case 7:
        alert("C");
        break;
    case 6:
        alert("D");
        break;
    default:
        alert("E");
        break;
}
</script>
</body>
</html>
10.提示用户输入一个正整数n, 计算1 + 2 + 3 + …n的和
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>

</head>
<body>

<script>
    var i = 1;
    var sum = 0;
    var a = +(window.prompt("请输入"));
    while(i<=a){
    sum += i ;
    i++;
    }
    alert(sum);
</script>
</body>
</html>
11.获取1~100之间 7的倍数的个数并打印,并统计个数
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>

</head>
<body>

<script>
    var count = 1;
    var num = 0;
    while (count <= 100) {

        if (count % 7 == 0) {
            console.log("count = " + count);
            num++;//计数器
        }
        count++;
    }

    console.log("number = "+ num);
</script>
</body>
</html>
12.判断奇、偶数
<script>
var num = window.prompt("请输入一个数:");
if(num%2===0){
    console.log(num + "是一个偶数");
}else{
    console.log(num + "是一个奇数");
}
</script>
13.模拟写一个Math.min(x,y)函数
<script>
    var x, y;
    function min(x, y) {
        if (x > y) {
            console.log(y);
        } else {
            console.log(x);
        }
    }

    min(3, 4);
    console.log(Math.min(3, 4));
</script>
14.求Fibonacci数列(1 1 2 3 5 8 13 21…)的第n个数?
<script>
    function fbnq(i) {
        if(i===1) return 1;
        if(i===2) return 1;
        return fbnq(i-1) + fbnq(i-2);
    }

    console.log(fbnq(8));
</script>
15.求n个数的累加
<script>
    function add(i) {
        if(i===1){
            return 1;
        }else{
            return i + add(i-1)
        }
    }
    console.log(add(100));
</script>
16.从前有座山,山里有座庙, …
<script>
    function mou(i) {
        i--;
        if(i>=0){
            console.log("从前有座山,山里有座庙");
            mou(i);
        }

    }
    mou(500);
</script>
17.URL转换成对象
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>

</head>
<body>

<script>
    function getUrlParams(url) {
        var index = url.indexOf('?') + 1;
        var params = url.substr(index);
        var paramsARrr = params.split('&');
        console.log(paramsARrr);
    }

    var url = 'https://www.baidu.com/s?ie=UTF-8&wd=JS%E6%AD%A3%E5';
    getUrlParams(url);
</script>
</body>
</html>
18.JS正则表达式实现表单验证
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>

</head>
<body>
<div id="box">
    <form onsubmit="return check()" action="register_success.html">
        <fieldset>
            <legend>信息注册表</legend>
            <p>
                <label>姓名:</label>
                <input type="text" id="txtname" class="txt" onblur="Name()" />
                <span id="span_name">由2~-6个汉字组成</span>
            </p>

            <hr />
        </fieldset>
    </form>
</div>
<script>
    function Name() {
        //验证姓名
        var name = document.getElementById("txtname").value; //获取你所填写的信息
        var nameReg = /^[\u4e00-\u9fa5]{2,6}$/;  //定义约束,要求输入2到6个中文
        if (!nameReg.test(name)) {   //判断
            var t = span_name.innerHTML = "请输入2~6个汉字!"; //输入不合法,则显示提示信息
            return false;
        }
        else {
            span_name.innerHTML = "格式正确"; //验证通过后提示
            return true;
        }
    }
</script>
</body>
</html>
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值