小实例

作者: newbaner | 来源:发表于2017-02-18 16:26 被阅读54次
    2.jpg

    数据类型、运算符

    • 数据类型
    • 基本类型 Number(整数,浮点数) String(字符串) Boolean(布尔)
    • 特殊类型 Null(空) Undefined(未定义)
    • 组合类型 Object
      主要五种:number string boolean null undefined-
    判断类型:关键字 typeof
    

    易错类型

    // alert(typeof(NaN));
       // alert(typeof(undefined));
       // alert(typeof(null));
       // alert(typeof(true));
       // alert(typeof(3));
       // alert(typeof("hello"));
       // alert(typeof(object));
       // alert(isNaN(3));
       // alert(isNaN(true));
       // alert(isNaN(false));
       // alert(isNaN(undefined));
       // alert(isNaN("hello"));
       // alert(isNaN(null));
       // alert(parseInt(3232652.144411441));
       // alert(parseFloat(192.168));
       // alert(parseFloat("192.167.1.1"));
       // alert(Number("444"));
       // alert("3+3");
       // alert(eval(3+a)); 
    
    • 运算符
      • 表达式
      • 算数运算符
      • 关系运算符
      • 赋值运算符
        易错类型
       /*alert(!true);//false
            alert(!false);//true
            alert(!0);//true
            alert(!1);//false
            alert(!2);//false
            alert(!2>1);//false
            alert(!null);//true
            alert(!!10);//true*/
    
            // var a = 6;
            // alert(a>3&&a<5);
            // alert(a>8&&a<6);
            // alert(a>3||a<4);
            // alert(a<7||a>2);
            // alert(a>7||a<10&& a%3==0);
    
    • 实例

      很多代码都是没有优化过的,仅供参考

    1. 入职薪水10K,每年涨幅入职薪水的5%,50年后工资多少?
    var a=10000;
          var s = a;
          for(var n=1;n<50;n++)
          {   
              s = s + a*0.05
          }   
              
          alert("50年后工资:"+s+"元");
    
    1. 为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?
    var h = 89;
    var day = h / 24;
    var a = h % 24;
    alert("共抗洪" + parseInt(day) + "天零"+ a + "小时") 
    
    1. 小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。
      提示:摄氏度与华氏度的转换公式为:摄氏度 = 5/9.0*(华氏度-32)
    var hua = 80;
    var she = 5 / 9.0 * (hua - 32)
    alert("华氏"+ hua + "度等于" + she.toFixed(2) +"摄氏度")    
    
    1. 给定一个三位数,分别把这个数字的百位、十位、个位算出来并显示。
            var threeDigitNum = 987;
            var bai = parseInt(threeDigitNum / 100);
            var shi = parseInt(threeDigitNum % 100 / 10);
            var ge = threeDigitNum % 10;
            alert(threeDigitNum + "可以写成" + bai + "百" + shi + "十" + ge + "个" );
            function myfunc(a){
                if(a<1000&&a>99){
                    var bai = parseInt(a / 100);
                    var shi = parseInt(a % 100 / 10);
                    var ge = a % 10;
                    alert( a + "可以写成" + bai + "百" + shi + "十" + ge + "个" )
                }
                else{
                    alert("请输入三位数字!")
                }
                
            }
            myfunc(374);
            myfunc(567);
            myfunc(1000);
            myfunc(97);
    
    1. 判断一个整数,属于哪个范围:大于0,小于0,等于0
    var intNum = parseInt(prompt("请输入一个整数:"));
            if(intNum>0){
                alert(intNum+"是属于0~正无穷的正整数");
            } else if (intNum<0) {
                alert(intNum+"是属于负无穷~0的负整数");
            } else if(intNum==0){
                alert(intNum + "是0");
            }
    
    1. 判断一个整数,是偶数还是奇数
    var intNum = parseInt(prompt("请输入一个整数:"));
            if(intNum%2==0){
                alert(intNum+"是偶数");
            }else {
                alert(intNum + "是奇数");
            }
    
    1. 根据公式 (身高cm - 108)x2=体重斤,可以有十斤左右的浮动,判断测试者的身体是否合适
    var weight = parseInt(prompt("请输入你的体重(斤):"));
            var high = parseInt(prompt("请输入你的身高(cm):"));
            var standart = (high - 108)*2-weight;
            if (standart <= 10 && standart >= -10){
                alert("你的身高体重非常标准");
            }else {
                alert("你身体比例不当");
            }
    
    1. 已知圆的半径,求圆的面积
     var r = parseInt(prompt("请输入圆的半径(cm):"));
         var s = r*r*Math.PI.toFixed(2);//保留两位有效数字
         alert("半径为"+r+"cm的圆的面积为"+s+"平方厘米");
    
    1. 输入年月日,求出该日期是当年的第几天(利用switch的穿透)
        var year = parseInt(prompt("请输入年份:"));
            var month = parseInt(prompt("请输入月份:"));
            var day = parseInt(prompt("请输入日期:"));
            var sum = 0; 
             switch(month){
                case 12:sum += 30;
                case 11:sum += 31;
                case 10:sum += 30;
                case 9:sum += 31;
                case 8:sum += 31;
                case 7:sum += 30;
                case 6:sum += 31;
                case 5:sum += 30;
                case 4:sum += 31;
                case 3:(year%4==0&&year%100!=0 || year%400==0)?sum += 29:sum += 28;
                case 2:sum += 31;
                case 1:sum += day;
             }
    
            alert("今天是这一年的"+sum+"天,你好吗")
    
    1. 个人所得税计算器


      Paste_Image.png
    var salery = parseInt(prompt("你的工资为:"));
            var rate = 0;
            if (salery - 3500>0&&salery - 3500<=500) {
                rate = (salery - 3500)*0.05 - 0;
            } else if(salery - 3500>500&&salery - 3500<=2000){
                rate = (salery - 3500)*0.1 - 25;
            }else if(salery - 3500>2000&&salery - 3500<=5000){
                rate = (salery - 3500)*0.15 - 125;
            }else if(salery - 3500>5000&&salery - 3500<=20000){
                rate = (salery - 3500)*0.2 - 375;
            }else if(salery - 3500>20000&&salery - 3500<=40000){
                rate = (salery - 3500)*0.25 - 1375;
            }else if(salery - 3500>40000&&salery - 3500<=60000){
                rate = (salery - 3500)*0.3 - 3375;
            }else if(salery - 3500>60000&&salery - 3500<=80000){
                rate = (salery - 3500)*0.35 - 6375;
            }else if(salery - 3500>80000&&salery - 3500<=100000){
                rate = (salery - 3500)*0.4 - 10375;
            }else if(salery - 3500>100000){
                rate = (salery - 3500)*0.45 - 15375;
            }else{
                alert("你不用交税啦,穷")
            }
            alert("你应该缴纳个人所得税"+ rate + "元");
            alert("你税后工资为"+(salery-rate) + "元");
    
    1. 设计一个与电脑对战的石头剪刀布游戏
    var thyNum = parseInt(prompt("请出拳(1.石头  2.剪刀  3.布)"))
        switch(thyNum){
            case 1:alert("你出的石头");break;
            case 2:alert("你出的剪刀");break;
            case 3:alert("你出的布");break;
            default:alert("为何不出拳?")
        }
        //生成1-3随机数
        var comNum = Math.floor(Math.random()*3)+1;
        switch(comNum){
            case 1:alert("电脑出的石头");break;
            case 2:alert("电脑的剪刀");break;
            case 3:alert("电脑的布");break;
    
        }
    
        if(comNum == thyNum){
            alert("平局");
        }else if(comNum == 1&&thyNum==3){
            alert("你获胜");
        }else if(comNum == 1&&thyNum == 2){
            alert("你输了");
        }else if(comNum == 2&&thyNum == 1){
            alert("你获胜");
        }else if (comNum==2&&thyNum == 3){
            alert("你输了");
        }else if (comNum == 3&&thyNum ==1){
            alert("你输了");
        }else if(comNum==3&&thyNum==2){
            alert("你获胜");
        }
    
    1. 依次输入第一个数,计算符号,第二个数,显示计算结果
    var num1 = Number(prompt("第一个数:"));
            var symbol = prompt("请输入符号");
            var num2 = Number(prompt("第二个数:"));
            switch(symbol){
                case "+":alert(num1+"+"+num2+"="+(num1+num2));break;
                case "-":alert(num1+"-"+num2+"="+(num1-num2));break;
                case "*":alert(num1+"*"+num2+"="+(num1*num2));break;
                case "/":alert(num1+"/"+num2+"="+(num1/num2));break;
                case "%":alert(num1+"%"+num2+"="+(num1%num2));break;
                default:alert("你输入的符号或数字有毛病");
            }
    
    1. 之前用swift写过的一个小游戏,猜数字,现在用js写
    var  a = Math.floor(Math.random()*100+1);
        var count = 1;
        var msg = "";
        do{
            var b = parseInt(prompt("请猜一个1-100的整数"));
            if (a != b){
            msg = a>b?"再大点儿":"再小点儿";
            alert(msg);
            count++;
            } 
        }
        while(a!=b){
            msg="对了";
            alert(msg);
            if(count>7){
                document.write("共猜了"+count+"次,你的智商该充值了");
            }else{
                document.write("共猜了"+count+"次,你的才智过人");
            }
        }
    
    1. 打印乘法表(js不支持emoji就不搞怪叻)
            var i = 1;
            var j = 1;
            for(i;i<10;i++){
                for(j=1;j<=i;j++){
                    document.write(j+"*"+i+"="+(i*j)+" ");// 是一个大大的空格
                }
                document.write("<br />");
            }
    
    1. 输出一元钱兑换方案(方法和百钱白鸡的差不多)
              var oneJiao = 1;
              var twoJiao = 2;
              var fiveJiao = 5;
                for(var x = 0;x>=0&&x<=2;x++){
                for(var y = 0;y>=0&&y<=5;y++){
                var z = 10-5*x-2*y;
                if (z+5*x+2*y == 10&&z>=0){
                    document.write(x+"张五角、"+y+"张两角和"+z+"张一角<br>");
                }
            }
        }
    
    1. 求两个数的最大公约数
            var num1 = parseInt(prompt("请输入第一个数"));
            var num2 = parseInt(prompt("请输入第二个数"));
            var max = 1;
            var a = num1 < num2 ? num1 : num2;
            while (a > 1) {
            if (num1 % a == 0 && num2 % a == 0) {
                 max = a;
                 break;
            }
            a -= 1
        }
        document.write(num1+"与"+num2+"的最大公约数是"+max);
    
    1. 输入a,输入最高位数,输出a+aa+aaa+aaa+aaaaa+...=???的形式
    var a = parseInt(prompt("请输入a:"));
        var wei = parseInt(prompt("请输入最高位数:"));
        var s = 0;
        var all = 0;
        for(var i = 0;i<wei;i++){
            s += a*Math.pow(10,i);
            if(i<wei-1){
                document.write(s+"+");
                
            } else if(i==wei-1){
                document.write(s+"=");
            }
            all += s
        }
        document.write(all);
    
    1. 输出五位数的所有回文数(形如 11211 12321 12121...)
    var hui = 11001;
        var count = 0;
        for(hui;hui<=99999;hui++){
            var ge = parseInt(hui%10);
            var shi = parseInt(hui%100/10);
            var bai = parseInt(hui%1000/100);
            var qian = parseInt(hui%10000/1000);
            var wan = parseInt(hui/10000);
            if(ge==wan&&shi==qian){
                document.write(hui+"<br/>");
                count ++;
            }
        }
        document.write("共找到"+count+"个回文数");
    

    相关文章

      网友评论

          本文标题:小实例

          本文链接:https://www.haomeiwen.com/subject/lsorwttx.html