欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-09 11:09:30
终于学JavaScript了! 数组的相关参数 数组 删除第一个元素, 删除最后一个元素,返回的都是删除的元素, 在开头增加一个元素, 在结尾增加元素, 用于删除和修改, 用于切片. 数据类型转换 一元的 + 运算符可用于把变量转换为数字:如果无法转换变量,则仍会成为数字,但是值为 NaN(Not ......

终于学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{
            width: 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>




自己打的一些东西

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]+"\t";
}
console.log(d);
var text="123";
for(i=0;i<c.length;i++){
text+=c[i]+"\n";
}
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]+"\n");
console.log(list[3]+"\n");
i++;
console.log(list[i]+"\n");
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+"\n"+d);
c=d.unshift(["11","11"]);
console.log(c+"\n"+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="";
    }
}