JavaScript上部分

您所在的位置:网站首页 educoder实训平台答案java入门 JavaScript上部分

JavaScript上部分

2023-11-23 23:08| 来源: 网络整理| 查看: 265

 

目录

JS简介

第1关: JavaScript基础入门

第2关: JavaScript 与 HTML

第3关: JavaScript 变量

JS 数据类型

第1关: JavaScript 数据类型介绍

第2关: JavaScript 数据类型转换

JS运算符

第1关: 算术运算符

第2关: 比较和逻辑运算符

第3关: 条件和赋值运算符

第4关: 运算符的优先级和结合性

JS对象

第1关: 对象的创建

第2关: 属性的增删改查

第3关: 属性的检测和枚举

JS数组

第1关: 数组的创建、读写和长度

第2关: 数组元素的增减

第3关: 数组的遍历和多维数组

第4关: 数组的常用方法

第5关: 数组的应用——内排序

JS条件语句

第1关: if-else类型

第2关: switch类型

第3关: 综合练习

JS循环语句

第1关: while类型

第2关: do while类型

第3关: for类型

第4关: for in类型

第5关: break和continue的区别——break

第6关: break和continue的区别——continue

JS函数

第1关: 用函数语句定义函数

第2关: 用表达式定义函数

第3关: 函数的调用

第4关: 未定义的实参

第5关: 实参对象

第6关: 对象作为参数

第7关: 函数对象

字符串

第1关: 查找字符串的位置

第2关: 求指定位置的字符

第3关: 字符串的截取

第4关: 大小写转换

第5关: 字符串的分割

JS运算符

第1关: 算术运算符

第2关: 比较和逻辑运算符

第3关: 条件和赋值运算符

第4关: 运算符的优先级和结合性

正则表达式

第1关: 字符串字面量

第2关: 字符类

第3关: 重复

第4关: 选择

第5关: 分组

第6关: 引用

第7关: 匹配位置

第8关: 修饰符

第9关: 正则表达式的使用

JS简介 第1关: JavaScript基础入门 window.alert("Hello,JavaScript!"); 第2关: JavaScript 与 HTML console.log("如何在HTML代码中嵌入JavaScript代码"); 第3关: JavaScript 变量 var a = 1; // 请在此处编写代码 /********** Begin **********/ var b = 100; /********** End **********/ function variableTest(c) { /********** Begin **********/ var a = 10; /********** End **********/ return a*c+b; } JS 数据类型 第1关: JavaScript 数据类型介绍 function objectTest() { var a = {name:"myName",id:2}; var b = [1,true,2]; var c = 1; var d = "1"; var e = true; var f; var aType,bType,cType,dType,eType,fType; //请在此处编写代码 /********** Begin **********/ aType = "object"; bType = "array"; cType = "number"; dType = "string"; eType = "bool"; fType = "undefined"; /********** End **********/ return aType+","+bType+","+cType+","+dType+","+eType+","+fType; } 第2关: JavaScript 数据类型转换 function mainJs(args1,args2,args3) { // 请在此处编写代码 /*********Begin***********/ var a = parseInt(args1); var b = parseInt(args2,16); var c = parseFloat(args3); /*********End***********/ return a+b+c; } JS运算符 第1关: 算术运算符 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ var a1 = parseInt(a); var b1 = parseInt(b); var c = a1%b1; a = a.toString(); b = b.toString(); c = c.toString(); /********** End **********/ return a+b+c; } 第2关: 比较和逻辑运算符 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ if(a > b) { return a&&b; } else { return !a; } /********** End **********/ } 第3关: 条件和赋值运算符 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ return (a>b)?a:b; /********** End **********/ } 第4关: 运算符的优先级和结合性 function mainJs(a,b) { var a = parseInt(a); var b = parseInt(b); //请在此处编写代码 /********** Begin **********/ var c = (--a+b)*b==24?1:0; var d = 4; var e = (c*=d)+d; /********** End **********/ return e; } JS对象 第1关: 对象的创建 function Car(plate,owner) { this.plate = plate; this.owner = owner; } function Job() {}; Job.prototype.company = "myCompany"; Job.prototype.salary = 12000; function mainJs(a,b,c,d,e) { //请在此处编写代码 /********** Begin **********/ var student = {name:a,gender:b}; var myCar = new Car(c,d); var myJob = new Job(); myJob.company = e; /********** End **********/ return student.name+student.gender+myCar.plate+myCar.owner+myJob.company; } 第2关: 属性的增删改查 var store = { name:"Luma Restaurant", location:"No 22,Cot Road", accountant:"Vivian Xie", day1:3200, day2:3200, day3:3200, day4:3200, day5:3200, day6:3200, day7:3200, day8:3200, day9:3200, day10:3200 } function reviseAttribute(reviser,date,attValue) { //Convert string to integer attValue = parseInt(attValue); //请在此处编写代码 /********** Begin **********/ store["day"+date] = attValue; store.accountant = reviser; /********** End **********/ var totalSales = store["day1"]+store["day2"]+store["day3"]+store["day4"]+store["day5"]+store["day6"]+store["day7"]+store["day8"]+store["day9"]+store["day10"]; return totalSales+store.accountant; } 第3关: 属性的检测和枚举 var orange = { weight:"200g", color:"orange", taste:"sour" }; var car = { brand:"Jaguar", price:"$80000", model:"XFL" } function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var result = ""; if(a in car) { for(att in car) { result += att; } } else { for(att in orange) { result += att; } } return result; /********** End **********/ } JS数组 第1关: 数组的创建、读写和长度 var array1 = [1,2,3,"js",4,true,"hello"]; var array2 = [true,true,"java",2.1]; function mainJs(a) { //请在此处编写代码 /********** Begin **********/ a = parseInt(a); if(array1.length == a) { return array1[array1.length-1]; } else { return array2[array2.length-1]; } /********** End **********/ } 第2关: 数组元素的增减 var testArray = [12,"java","js","c","c++",24,36,"python","c#","css"]; function mainJs(a,b) { a = parseInt(a); b = parseInt(b); //请在此处编写代码 /********** Begin **********/ for(var i = 0;i < a;i++) { var rearMember = testArray.pop(); testArray.unshift(rearMember); } return testArray[b]; /********** End **********/ } 第3关: 数组的遍历和多维数组 var arr = [1,2,3,4,5,6,7,8,9,0,10,11,12,13,14,15,16,17,18,19,20,21,23,22]; function mainJs(a,b) { a = parseInt(a); b = parseInt(b); //请在此处编写代码 /********** Begin **********/ //新建二维数组,行长为a,列长为b var multiArr = new Array(a); for(var i = 0;i < a;i++) { multiArr[i] = new Array(b); } //依次将原数组的元素放置在二维数组的相应位置上 var count = 0; for(var i = 0;i < a;i++) {//先行 for(var j = 0;j < b;j++) {//后列 multiArr[i][j] = arr[count++]; } } //返回二维数组 return multiArr; /********** End **********/ } 第4关: 数组的常用方法 function mainJs(myArray) { myArray = myArray.split(","); //请在此处编写代码 /********** Begin **********/ //新建用来存储字符串a位置的数组 var indexsArrayOfStringa = new Array(); //新建用来存储字符串b位置的数组 var indexsArrayOfStringb = new Array(); //求出参数字符串的长度 var myArrayLength = myArray.length; var index = 0; //遍历获得字符串a的所有位置 while(index < myArrayLength) { index = myArray.indexOf("a",index); if(index == -1) break; indexsArrayOfStringa.push(index++); } index = 0; //遍历获得字符串b的所有位置 //这两个函数千万不要合在一起写!!! while(index < myArrayLength) { index = myArray.indexOf("b",index); if(index == -1) break; indexsArrayOfStringb.push(index++); } //返回两个数组的和数组 return indexsArrayOfStringa.concat(indexsArrayOfStringb); /********** End **********/ } 第5关: 数组的应用——内排序 function mainJs(a) { var arr = a.split(","); for(var i = 0;i < arr.length;i++) { arr[i] = parseInt(arr[i]); } //请在此处编写代码 /********** Begin **********/ var aLength = arr.length;//待排序数组的长度 var temp; var max = arr[0]; var maxIndex = 0; var indexArr = new Array();//记录最大元素位置的数组 //进行选择排序 for(var i = 0;i < aLength-1;i++) { for(var j = 1;j < aLength-i;j++) { if(arr[j] > max) {//更新最大元素及其索引 max = arr[j]; maxIndex = j; } } //记录最大元素所在的位置 indexArr.push(maxIndex); //移动最大元素到索引最大处 temp = arr[aLength-i-1]; arr[aLength-i-1] = arr[maxIndex]; arr[maxIndex] = temp; //将最大元素及位置归零 var max = arr[0]; var maxIndex = 0; } return indexArr; /*********end*********/ } JS条件语句 第1关: if-else类型 function mainJs(a) { a = parseInt(a); //请在此处编写代码 /********** Begin **********/ if(a >= 60) { return "pass"; } else { return "unpass"; } /********** End **********/ } 第2关: switch类型 function mainJs(a) { a = parseInt(a); //请在此处编写代码 /********** Begin **********/ var name; switch(a) { case 82414:name = "Superior"; break; case 59600:name = "Huron"; break; case 58016:name = "Michigan"; break; case 25744:name = "Erie"; break; case 19554:name = "Ontario"; break; default:name = "error"; break; } return name; /********** End **********/ } 第3关: 综合练习 //判断一个年份是否为闰年 function judgeLeapYear(year) { //请在此处编写代码 /********** Begin **********/ var tt="年是闰年"; var ff="年不是闰年"; if(year%100==0){ if(year%400==0){ return year+tt; }else{ return year+ff; } }else{ if(year%4==0){ return year+tt; }else{ return year+ff; } } /********** End **********/ } //对输入进行规范化处理 function normalizeInput(input) { /********** Begin **********/ var output; switch(input){ case "中共党员": case "党员": case "共产党员":output="中共党员"; break; case "中共预备党员": case "预备党员":output="中共预备党员"; break; case "团员": case "共青团员":output="共青党员"; break; case "大众": case "市民": case "人民": output="群众"; break; default: output="错误数据"; break; } return output; /********** End **********/ } //判断苹果是否为优质品 function evaluateApple(weight,water) { /********** Begin **********/ if(weight>=200 ) {return "是优质品";} else{ if(water>=0.7) {return "是优质品";} else {return "不是优质品";} } /********** End **********/ } JS循环语句 第1关: while类型 function mainJs(a) { a = parseInt(a); //请在此处编写代码 /********** Begin **********/ var sum = 0; var i = 2; while(i 0 && a[i] < 0) continue;//求正数的和,遇到负数跳过 if(b < 0 && a[i] > 0) continue;//求负数的和,遇到正数跳过 /********** End **********/ sum += a[i]; } return sum; } JS函数 第1关: 用函数语句定义函数 //请在此处编写代码 /********** Begin **********/ function mainJs(a,b){ return a+b; } /********** End **********/ 第2关: 用表达式定义函数 function mainJs(a) { a = parseInt(a); //请在此处编写代码 /********** Begin **********/ var myFunc = function(b) { var first = (b-b%100)/100;//求出百位数 var second = (b%100-b%100%10)/10;//求出十位上的数 var third = b-first*100-second*10;//求出各位数 return first+second+third; } /********** End **********/ return myFunc(a); } 第3关: 函数的调用 //求最大值的函数 function getMax(b,c) { return b>c?b:c; } //求最小值的函数 var getMin = function(b,c) { return b>c?c:b; } //对象中的求和函数 var myObject = { id:1, name:"function", myFunc:function(b,c) { return b+c; } } function mainJs(a,b,c) { a = parseInt(a); b = parseInt(b); c = parseInt(c); //请在此处编写代码 /********** Begin **********/ if(a == 1) { return getMax(b,c); } else if(a == 2) { return getMin(b,c); } else { return myObject.myFunc(b,c); } /********** End **********/ } 第4关: 未定义的实参 function mainJs(a,b,c,d) { //请在此处编写代码 /********** Begin **********/ if(a === undefined) { a = "green"; } if(b === undefined) { b = "green"; } if(c === undefined) { c = "red"; } if(d === undefined) { d = "yellow"; } return a+"-"+b+"-"+c+"-"+d; /********** End **********/ } 第5关: 实参对象 //请在此处编写代码 /********** Begin **********/ function getMax() { var aLength = arguments.length; var amax = 0; for(var i = 0;i < aLength;i++) { if(arguments[i] > amax) amax = arguments[i]; } return amax; } /********** End **********/ function mainJs(a) { a = parseInt(a); switch(a) { case 1:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123); case 2:return getMax(23,21,56,34,89,34,32); case 3:return getMax(23,21,56,34); case 4:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123,8888); case 5:return getMax(); default:break; } } 第6关: 对象作为参数 var park = { name:"Leaf Prak", location:"Fifth Avenue", todayTourists:4000 }; var computer = { name:"Levenon", price:"$800", memory:"8G" }; var city = { name:"HangZhou", country:"Chine", population:9400000 } function objectFunction(object) { //请在此处编写代码 /********** Begin **********/ var result = ""; for(x in object) { result = result+x+":"+object[x]+","; } return result; /********** End **********/ } function mainJs(a) { a = parseInt(a); switch(a) { case 1:return objectFunction(park); case 2:return objectFunction(computer); case 3:return objectFunction(city); default:break; } } 第7关: 函数对象 //求数组中奇数元素的个数 function getOddNumber(a) { var result = 0; for(var i = 0;i < a.length;i++) { if(a[i]%2 != 0) result++; } return result; } //求数组中偶数元素的个数 function getEvenNumber(a) { var result = 0; for(var i = 0;i < a.length;i++) { if(a[i]%2 == 0) result++; } return result; } function getNumber(func,a) { //请在此处编写代码 /*********Begin*********/ return func(a); /*********End*********/ } //测试接口 function mainJs(b,a) { a = a.split(","); var aLength = a.length; for(var i = 0;i < aLength;i++) { a[i] = parseInt(a[i]); } if(b == "getEvenNumber") { return getNumber(getEvenNumber,a); } else { return getNumber(getOddNumber,a); } } 字符串 第1关: 查找字符串的位置 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ var startIndex = 0; var aLength = a.length;//a的长度 var index = 0; var result = 0; while(startIndex < aLength) {//还没有匹配到末尾 index = a.indexOf(b,startIndex);//本次匹配的位置 if(index == -1) {//后面已经没有匹配的子串 break;//提前结束整个过程 } startIndex = index+1;//下次匹配的起始位置 result += index; } return result; /*********End*********/ } 第2关: 求指定位置的字符 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var result = ""; for(var i = 0;i < 6;i++) {//遍历,依次获取前六个数字 result += a.charAt(i); } return result; /********** End **********/ } 第3关: 字符串的截取 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ if(a.indexOf(b) == -1) {//没有杂质字符串直接返回 return a; } else { var startIndex = a.indexOf(b);//杂质字符串起始处 var endIndex = startIndex+b.length;//杂质字符串结束处 return a.slice(0,startIndex)+a.slice(endIndex); } /*********End*********/ } 第4关: 大小写转换 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ var str1 = b.toUpperCase();//把b转换为大写 var aa = a.split(b);//以b为边界分割a为字符串数组 a = aa.join(str1);//以转换后的b为边界重新连接字符串数组得到新的a return a; /*********End*********/ } 第5关: 字符串的分割 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var spaceArray = a.split(" ");//以space分割 var commaArray = a.split(",");//以逗号分隔 return spaceArray.length+commaArray.length-1; /*********End*********/ } JS运算符 第1关: 算术运算符 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ var a1 = parseInt(a); var b1 = parseInt(b); var c = a1%b1; a = a.toString(); b = b.toString(); c = c.toString(); /********** End **********/ return a+b+c; } 第2关: 比较和逻辑运算符 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ if(a > b) { return a&&b; } else { return !a; } /********** End **********/ } 第3关: 条件和赋值运算符 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ return (a>b)?a:b; /********** End **********/ } 第4关: 运算符的优先级和结合性 function mainJs(a,b) { var a = parseInt(a); var b = parseInt(b); //请在此处编写代码 /********** Begin **********/ var c = (--a+b)*b==24?1:0; var d = 4; var e = (c*=d)+d; /********** End **********/ return e; } 正则表达式 第1关: 字符串字面量 function mainJs(a) { a = a.replace(",","\n"); //请在此处编写代码 /********** Begin **********/ var pattern = /js\n/; /********** End **********/ return pattern.test(a).toString(); } 第2关: 字符类 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var pattern1 = /[a-zA-Z][0-9]/; var pattern2 = /A[^0-9]/; /********** End **********/ return pattern1.test(a).toString()+","+pattern2.test(a).toString(); } 第3关: 重复 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var pattern1 = /\?+/; var pattern2 = /\+{3,3}/; var pattern3 = /\{\}{1,2}/; var pattern4 = /\\{0,1}/; /********** End **********/ return pattern1.test(a).toString()+","+pattern2.test(a).toString()+","+pattern3.test(a).toString()+","+pattern4.test(a).toString(); } 第4关: 选择 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var pattern1 = /[0-9]{17}([0-9]|X)/; var pattern2 = /2(3|4)[0-9]{4}/; var pattern3 = /010|02[012345789]/; /********** End **********/ return pattern1.test(a).toString()+","+pattern2.test(a).toString()+","+pattern3.test(a).toString(); } 第5关: 分组 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var pattern1 = /(\?\+){2,}/; var pattern2 = /\d(\?|\+)\d/; /********** End **********/ return pattern1.test(a).toString()+","+pattern2.test(a).toString(); } 第6关: 引用 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var pattern1 = /([0-9]{3})[^0-9]\1/; var pattern2 = /[A-Z]([0-9])[A-Z]\1[A-Z]\1/; /********** End **********/ return pattern1.test(a).toString()+","+pattern2.test(a).toString(); } 第7关: 匹配位置 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var pattern = /^js\b/; /********** End **********/ return pattern.test(a).toString(); } 第8关: 修饰符 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var pattern = /\bshell\b/ig; /********** End **********/ return a.match(pattern); } 第9关: 正则表达式的使用 function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var pattern = /[0-9]/g; return a.replace(pattern,""); /********** End **********/ }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3