百度前端学院第17到18天和第16天的作业
程序员文章站
2022-11-06 18:32:56
终于学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=""; } }