• 百度前端学院第17到18天和第16天的作业


    终于学JavaScript了!

    数组的相关参数

    数组shift删除第一个元素,pop删除最后一个元素,返回的都是删除的元素,unshift在开头增加一个元素,push在结尾增加元素,splice用于删除和修改,slice用于切片.


    数据类型转换


    一元的 + 运算符可用于把变量转换为数字:如果无法转换变量,则仍会成为数字,但是值为 NaN(Not a number):

    constructor

    "Bill".constructor                 // 返回 "function String()  { [native code] }"
    (3.14).constructor                 // 返回 "function Number()  { [native code] }"
    false.constructor                  // 返回 "function Boolean() { [native code] }"
    [1,2,3,4].constructor              // 返回 "function Array()   { [native code] }"
    {name:'Bill', age:62}.constructor  // 返回" function Object()  { [native code] }"
    new Date().constructor             // 返回 "function Date()    { [native code] }"
    function () {}.constructor         // 返回 "function Function(){ [native code] }"
    

    可以检查对象是否是数组函数:

    function isArray(myArray) {
        return myArray.constructor === Array;
    }
    


    可以在文本字符串中使用反斜杠对代码行进行换行。


    const 关键字用来声明 JavaScript中的常量(与变量相对,不可修改,但同样是用于存储信息的"容器"。),常量的值不能通过重新赋值来改变,并且不能重新声明。

    就算变量定义的是数组格式,typeof 返回的数据类型还是 object :

    数组和对象都是object

    if for switch while

    if

    switch

    如果 default 不是 switch 代码块中最后一个 case,请记得用 break 结束默认 case

    for

    for (语句 1; 语句 2; 语句 3/*第三个语句是不需要;的*/) {
         要执行的代码块
    }
    

    语句 1 在循环(代码块)开始之前执行。

    语句 2 定义运行循环(代码块)的条件。

    语句 3 会在循环(代码块)每次被执行后执行。

    通常,您会使用语句 1 来初始化循环中所使用的的变量(i = 0)。

    但情况并不总是这样,JavaScript 不会在意。语句 1 是可选的。

    您可以在语句 1 中初始化多个值(由逗号分隔):

    for循环的语句1可以有多个,用,分割

    for (i = 0, len = cars.length, text = ""; i < len; i++) { 
        text += cars[i] + "<br>";
    }
    

    for-in 循环遍历的是对象的属性,而不是数组的索引。因此, for-in 遍历的对象便不局限于数组,还可以遍历对象。

    语句1和语句3都是可以省略的,语句2也是可选的。

    正则表达式

    // constructor转换
    c="1111";
    a=c.constructor===Array;
    console.log(a);
    // false
    // 使用search返回地址
    var a="HELLO world";
    b=a.search("wo");
    console.log(b);
    // 6
    // 使用replace用于修改
    b=a.replace("hello","你好");
    console.log(b);
    b = a.replace(/hello/i,"nihao");
    console.log(b);
    // 返回nihao world
    // text用来搜索字符串返回true或者别的。
    c=/e/i.test("hello world");
    console.log(c);
    // "hello world"里面有e所以返回true;
    console.log(typeof(true));
    // exec它通过指定的模式(pattern)搜索字符串,并返回已找到的文本。如果未找到匹配,则返回 null。
    console.log(/e/i.exec("hllo woefr"));
    // 返回e
    console.log(typeof(/e/i.exec("hellofregt")));
    // 返回object
    

    异常

    function jj(){
        var jieguo=document.getElementById("jieguo");
        jieguo.innerHTML="nihao";
        var input=document.getElementById("input").value;
        try{
            if(isNaN(input)) throw "不是数字";
            if(input=="") throw "是空的";
            input=Number(input);
            if(input<5) throw "太小";
            if(input>10) throw "太大";
        }
        catch(err){
            jieguo.innerHTML="输入:"+err;
        }
        finally{
            document.getElementById("input").value="";
        }
    }
    

    作业代码1 实现加减乘除

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">    
        <title>IFE ECMAScript</title>
    </head>
    <body>        
        <input id="first-number" type="number" value="0" placeholder="第一个数字">
        <input id="second-number" type="number" value="0" placeholder="第二个数字">
        <button id="add-btn" onclick="jia()">加</button>
        <button id="minus-btn" onclick="jian()">减</button>
        <button id="times-btn" onclick="chen()">乘</button>
        <button id="divide-btn" onclick="chu()">除</button>
        <p id="result">运算结果</p>
        <script>
            function jia(){
                try{
                    one=document.getElementById("first-number").value;
                    two=document.getElementById("second-number").value;
                    // if(isNaN(one)) throw "不是数字";
                    // if(isNaN(two)) throw "不是数字";
                    console.log("原始"+typeof(one)+one);
                    one=parseFloat(one);
                    two=parseFloat(two);
                    if(isNaN(one)) throw "不是数字";
                    if(isNaN(two)) throw "不是数字";
                    console.log("结果"+typeof(one)+one)
                    result=one+two;
                    document.getElementById("result").innerHTML="运算结果:"+result;                
                }
                catch(err){
                    console.log("输入"+err);
                }
                
            }
            function jian(){
                one=document.getElementById("first-number").value;
                two=document.getElementById("second-number").value;
                console.log("原始"+typeof(one)+one);
                one=parseFloat(one);
                two=parseFloat(two);
                console.log("结果"+typeof(one)+one)
                result=one-two;
                document.getElementById("result").innerHTML="运算结果:"+result;
            }
            function chen(){
                one=document.getElementById("first-number").value;
                two=document.getElementById("second-number").value;
                console.log("原始"+typeof(one)+one);
                one=parseFloat(one);
                two=parseFloat(two);
                console.log("结果"+typeof(one)+one)
                result=one*two;
                document.getElementById("result").innerHTML="运算结果:"+result;
            }
            function chu(){
                one=document.getElementById("first-number").value;
                two=document.getElementById("second-number").value;
                console.log("原始"+typeof(one)+one);
                one=parseFloat(one);
                two=parseFloat(two);
                console.log("结果"+typeof(one)+one)
                result=one/two;
                document.getElementById("result").innerHTML="运算结果:"+result;
            }
        </script>
    </body>
    </html>
    

    作业代码2 实现转换2进制

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">    
        <title>IFE ECMAScript</title>
        <style>
            input{
                 200px;
            }
        </style>
    </head>
    <body>        
            <input id="dec-number" type="number" placeholder="输入一个十进制非负整数">
            <input id="bin-bit" type="number" placeholder="输入转化后二进制数字位数">
            <button id="trans-btn" onclick="jj()">转化为二进制</button>
            <p id="result">运算结果</p>
    <script>
    
    function dec2bin(decNumber) {
        // 在这里实现你的转化方法,注意需要判断输入必须为一个非负整数
        try{
            console.log(decNumber);
            if (decNumber<=0||decNumber.constructor!=Number) throw "输入必须为一个非负整数";
            var z=decNumber;
            var a=""
            for(var i=0;;i++){
                y=z%2;             
                a=String(y)+a;
               if(z==1){
                    break;
                }
                z=parseInt(z/2);
            }
            a=Number(a);
            return a;
        }
        catch(err){
            document.getElementById("result").innerHTML=err;
        }
    }
    // console.log(typeof(c))
    // console.log(c)
    // 实现党点击转化按钮时,将输入的十进制数字转化为二进制,并显示在result的p标签内
    // Some codeing
    function jj(){
        var c=Number(document.getElementById("dec-number").value);
        d=dec2bin(c);
        // d=new Number(d);
        weishu=document.getElementById("bin-bit").value;
        weishu=Number(weishu);
        long=String(d).length
        console.log(long);
        console.log(weishu);
        if(weishu>=long){
            x=weishu-long;
            for(var i=0;i<x;i++){
                d="0"+String(d);
                // d=Number(d);
            }
        }else{
            d="位数过小,请重新输入,最小位数为:"+long;
            console.log(typeof(d));
        }
        document.getElementById("result").innerHTML=d;
    }
    
        </script>
    </body>
    </html>
    

    转换2进制预览

    加减乘除预览

    自己打的一些东西

    var c=12;
    var day
    console.log(typeof(c))
    if (c!="12"){
        console.log("yes")
    }else if (c=='12'){
        console.log("完全相等")
    }
    else{
        console.log("no")
    }
    c= new Date()
    console.log(new Date().getDay())
    switch(new Date().getDay()){
        // case 0:
        //     day ="星期天";
        //     break;
        // case 2:
        //     day ="星期2";
        //     break;
        // case 3:
        //     day = "星期3";
        //     break;
        // default:
        //     day="未设置";
        //     // break;
        case 0:
    day = "星期天";
    break;
    case 1:
    day = "星期一";
     break;
    case 2:
    day = "星期二";
     break;
    case 3:
    day = "星期三";
     break;
    }
    console.log("今天是"+day);
    switch (new Date().getDay()) {
    case 0:
    day = "星期天";
    break;
    case 1:
    day = "星期一";
     break;
    case 2:
    day = "星期二";
     break;
    case 3:
    day = "星期三";
     break;
    // case 4:
    //     day = "星期四";
    //      break;
    // case 5:
    //     day = "星期五";
    //      break;
    // case 6:
    //     day = "星期六";
    }
    console.log("今天是"+day);
    var c=["html","css","python","java"] ,d="",i;
    for(i=0;i<c.length;i++){
    d+=c[i]+"	";
    }
    console.log(d);
    var text="123";
    for(i=0;i<c.length;i++){
    text+=c[i]+"
    ";
    }
    console.log(text)
    var x;
    for (x in c){
    console.log("star")
    console.log(c[x]);
    }
    function zixing(){
    var b=1;
    for(i=0,c=1;i<100;i++){
    // console.log("typeof(c)= "+typeof(c));
    // console.log("c="+c);
    b=1+i;
    document.write(b);
    document.write("<br>");
    // console.log(typeof(b));
    }
    }
    var i=null;
    i=0;
    while (i<10){
    i++;
    console.log(i)
    if(i===3){
    break;
    } 
    }
    var i=null;
    i=0;
    do{
    console.log(i);
    i++;
    if(i===3){
    console.log("hello");
    // continue;
    break;
    }
    console.log("执行完毕")
    }
    while(i<10);
    console.log("stt")
    console.log(i);
    i=0;
    var list=["hello","world","welcome","to","china"]
    biaoqian:{
    console.log(list[i]+"
    ");
    console.log(list[3]+"
    ");
    i++;
    console.log(list[i]+"
    ");
    break biaoqian;
    console.log("after break");
    }
    console.log("111".constructor)
    // var a="111";
    // document.getElementById("id").innerHTML=lz(a);
    // function lz(sh){
    //     return sh.constructor === String;
    // }
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    document.getElementById("qq").innerHTML = isArray(fruits);
    
    function isArray(myArray) {
    return myArray.constructor === Array;
    }
    var d=["11","123",["12",'1']];
    console.log(d.length);
    // c=d.join("*")
    d.pop();
    d.push("增加");
    console.log(d);
    d.shift();
    console.log(d);
    d=null;
    d=["hello","world","nihao"];
    c=d.shift();
    console.log(c+"
    "+d);
    c=d.unshift(["11","11"]);
    console.log(c+"
    "+d);
    console.log(d[0]);
    // 通过splice删除或增加元素;
    d.splice(0,1,"xin");
    console.log(d);
    // concat用来链接元素
    dd=["新","元","素"];
    console.log(d.concat(dd));
    c="111";
    console.log(c.length);
    // slice()用于切出。
    e=dd.slice(1,2);
    console.log(e);
    var b= new Date();
    console.log(b);
    console.log("11");
    console.log(typeof(b));
    bb=b.toDateString();
    console.log(bb);
    console.log(typeof(bb));
    b=b.getDate();
    console.log(b);
    console.log(typeof(b));
    // constructor转换
    c="1111";
    a=c.constructor===Array;
    console.log(a);
    // false
    // 使用search返回地址
    var a="HELLO world";
    b=a.search("wo");
    console.log(b);
    // 6
    // 使用replace用于修改
    b=a.replace("hello","你好");
    console.log(b);
    b = a.replace(/hello/i,"nihao");
    console.log(b);
    // 返回nihao world
    // text用来搜索字符串返回true或者别的。
    c=/e/i.test("hello world");
    console.log(c);
    // "hello world"里面有e所以返回true;
    console.log(typeof(true));
    // exec它通过指定的模式(pattern)搜索字符串,并返回已找到的文本。如果未找到匹配,则返回 null。
    console.log(/e/i.exec("hllo woefr"));
    // 返回e
    console.log(typeof(/e/i.exec("hellofregt")));
    // 返回object
    function jj(){
        var jieguo=document.getElementById("jieguo");
        jieguo.innerHTML="nihao";
        var input=document.getElementById("input").value;
        try{
            if(isNaN(input)) throw "不是数字";
            if(input=="") throw "是空的";
            input=Number(input);
            if(input<5) throw "太小";
            if(input>10) throw "太大";
        }
        catch(err){
            jieguo.innerHTML="输入:"+err;
        }
        finally{
            document.getElementById("input").value="";
        }
    }
    
  • 相关阅读:
    数字基本数据类型范围比较
    java中float和double的区别
    ASP.NET中javascript与c#互相访问
    Javascript技术之详尽解析event对象
    Java基础-Java中的Calendar和Date类
    逻辑运算符
    JS获取当前时间
    几秒后刷新页面
    【LiteOS】LiteOS任务篇源码分析删除任务函数
    POJ 2385 Apple Catching (DP)
  • 原文地址:https://www.cnblogs.com/sogeisetsu/p/11701632.html
Copyright © 2020-2023  润新知