您现在的位置是:首页 > 技术教程 正文

JavaScript上部分--头歌(educoder)实训作业题目及答案

admin 阅读: 2024-03-28
后台-插件-广告管理-内容页头部广告(手机)

 

目录

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基础入门

  1. html>
  2. <html>
  3. <head>
  4. <script>
  5. window.alert("Hello,JavaScript!");
  6. script>
  7. head>
  8. <body>
  9. body>
  10. html>

第2关: JavaScript 与 HTML

  1. html>
  2. <html>
  3. <head>
  4. <script>
  5. console.log("如何在HTML代码中嵌入JavaScript代码");
  6. script>
  7. head>
  8. <body>
  9. body>
  10. html>

第3关: JavaScript 变量

  1. var a = 1;
  2. // 请在此处编写代码
  3. /********** Begin **********/
  4. var b = 100;
  5. /********** End **********/
  6. function variableTest(c) {
  7. /********** Begin **********/
  8. var a = 10;
  9. /********** End **********/
  10. return a*c+b;
  11. }

JS 数据类型

第1关: JavaScript 数据类型介绍

  1. function objectTest() {
  2. var a = {name:"myName",id:2};
  3. var b = [1,true,2];
  4. var c = 1;
  5. var d = "1";
  6. var e = true;
  7. var f;
  8. var aType,bType,cType,dType,eType,fType;
  9. //请在此处编写代码
  10. /********** Begin **********/
  11. aType = "object";
  12. bType = "array";
  13. cType = "number";
  14. dType = "string";
  15. eType = "bool";
  16. fType = "undefined";
  17. /********** End **********/
  18. return aType+","+bType+","+cType+","+dType+","+eType+","+fType;
  19. }

第2关: JavaScript 数据类型转换

  1. function mainJs(args1,args2,args3) {
  2. // 请在此处编写代码
  3. /*********Begin***********/
  4. var a = parseInt(args1);
  5. var b = parseInt(args2,16);
  6. var c = parseFloat(args3);
  7. /*********End***********/
  8. return a+b+c;
  9. }

JS运算符

第1关: 算术运算符

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var a1 = parseInt(a);
  5. var b1 = parseInt(b);
  6. var c = a1%b1;
  7. a = a.toString();
  8. b = b.toString();
  9. c = c.toString();
  10. /********** End **********/
  11. return a+b+c;
  12. }

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

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. if(a > b) {
  5. return a&&b;
  6. }
  7. else {
  8. return !a;
  9. }
  10. /********** End **********/
  11. }

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

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. return (a>b)?a:b;
  5. /********** End **********/
  6. }

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

  1. function mainJs(a,b) {
  2. var a = parseInt(a);
  3. var b = parseInt(b);
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. var c = (--a+b)*b==24?1:0;
  7. var d = 4;
  8. var e = (c*=d)+d;
  9. /********** End **********/
  10. return e;
  11. }

JS对象

第1关: 对象的创建

  1. function Car(plate,owner) {
  2. this.plate = plate;
  3. this.owner = owner;
  4. }
  5. function Job() {};
  6. Job.prototype.company = "myCompany";
  7. Job.prototype.salary = 12000;
  8. function mainJs(a,b,c,d,e) {
  9. //请在此处编写代码
  10. /********** Begin **********/
  11. var student = {name:a,gender:b};
  12. var myCar = new Car(c,d);
  13. var myJob = new Job();
  14. myJob.company = e;
  15. /********** End **********/
  16. return student.name+student.gender+myCar.plate+myCar.owner+myJob.company;
  17. }

第2关: 属性的增删改查

  1. var store = {
  2. name:"Luma Restaurant",
  3. location:"No 22,Cot Road",
  4. accountant:"Vivian Xie",
  5. day1:3200,
  6. day2:3200,
  7. day3:3200,
  8. day4:3200,
  9. day5:3200,
  10. day6:3200,
  11. day7:3200,
  12. day8:3200,
  13. day9:3200,
  14. day10:3200
  15. }
  16. function reviseAttribute(reviser,date,attValue) {
  17. //Convert string to integer
  18. attValue = parseInt(attValue);
  19. //请在此处编写代码
  20. /********** Begin **********/
  21. store["day"+date] = attValue;
  22. store.accountant = reviser;
  23. /********** End **********/
  24. var totalSales = store["day1"]+store["day2"]+store["day3"]+store["day4"]+store["day5"]+store["day6"]+store["day7"]+store["day8"]+store["day9"]+store["day10"];
  25. return totalSales+store.accountant;
  26. }

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

  1. var orange = {
  2. weight:"200g",
  3. color:"orange",
  4. taste:"sour"
  5. };
  6. var car = {
  7. brand:"Jaguar",
  8. price:"$80000",
  9. model:"XFL"
  10. }
  11. function mainJs(a) {
  12. //请在此处编写代码
  13. /********** Begin **********/
  14. var result = "";
  15. if(a in car) {
  16. for(att in car) {
  17. result += att;
  18. }
  19. }
  20. else {
  21. for(att in orange) {
  22. result += att;
  23. }
  24. }
  25. return result;
  26. /********** End **********/
  27. }

JS数组

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

  1. var array1 = [1,2,3,"js",4,true,"hello"];
  2. var array2 = [true,true,"java",2.1];
  3. function mainJs(a) {
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. a = parseInt(a);
  7. if(array1.length == a) {
  8. return array1[array1.length-1];
  9. }
  10. else {
  11. return array2[array2.length-1];
  12. }
  13. /********** End **********/
  14. }

第2关: 数组元素的增减

  1. var testArray = [12,"java","js","c","c++",24,36,"python","c#","css"];
  2. function mainJs(a,b) {
  3. a = parseInt(a);
  4. b = parseInt(b);
  5. //请在此处编写代码
  6. /********** Begin **********/
  7. for(var i = 0;i < a;i++) {
  8. var rearMember = testArray.pop();
  9. testArray.unshift(rearMember);
  10. }
  11. return testArray[b];
  12. /********** End **********/
  13. }

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

  1. 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];
  2. function mainJs(a,b) {
  3. a = parseInt(a);
  4. b = parseInt(b);
  5. //请在此处编写代码
  6. /********** Begin **********/
  7. //新建二维数组,行长为a,列长为b
  8. var multiArr = new Array(a);
  9. for(var i = 0;i < a;i++) {
  10. multiArr[i] = new Array(b);
  11. }
  12. //依次将原数组的元素放置在二维数组的相应位置上
  13. var count = 0;
  14. for(var i = 0;i < a;i++) {//先行
  15. for(var j = 0;j < b;j++) {//后列
  16. multiArr[i][j] = arr[count++];
  17. }
  18. }
  19. //返回二维数组
  20. return multiArr;
  21. /********** End **********/
  22. }

第4关: 数组的常用方法

  1. function mainJs(myArray) {
  2. myArray = myArray.split(",");
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. //新建用来存储字符串a位置的数组
  6. var indexsArrayOfStringa = new Array();
  7. //新建用来存储字符串b位置的数组
  8. var indexsArrayOfStringb = new Array();
  9. //求出参数字符串的长度
  10. var myArrayLength = myArray.length;
  11. var index = 0;
  12. //遍历获得字符串a的所有位置
  13. while(index < myArrayLength) {
  14. index = myArray.indexOf("a",index);
  15. if(index == -1) break;
  16. indexsArrayOfStringa.push(index++);
  17. }
  18. index = 0;
  19. //遍历获得字符串b的所有位置
  20. //这两个函数千万不要合在一起写!!!
  21. while(index < myArrayLength) {
  22. index = myArray.indexOf("b",index);
  23. if(index == -1) break;
  24. indexsArrayOfStringb.push(index++);
  25. }
  26. //返回两个数组的和数组
  27. return indexsArrayOfStringa.concat(indexsArrayOfStringb);
  28. /********** End **********/
  29. }

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

  1. function mainJs(a) {
  2. var arr = a.split(",");
  3. for(var i = 0;i < arr.length;i++) {
  4. arr[i] = parseInt(arr[i]);
  5. }
  6. //请在此处编写代码
  7. /********** Begin **********/
  8. var aLength = arr.length;//待排序数组的长度
  9. var temp;
  10. var max = arr[0];
  11. var maxIndex = 0;
  12. var indexArr = new Array();//记录最大元素位置的数组
  13. //进行选择排序
  14. for(var i = 0;i < aLength-1;i++) {
  15. for(var j = 1;j < aLength-i;j++) {
  16. if(arr[j] > max) {//更新最大元素及其索引
  17. max = arr[j];
  18. maxIndex = j;
  19. }
  20. }
  21. //记录最大元素所在的位置
  22. indexArr.push(maxIndex);
  23. //移动最大元素到索引最大处
  24. temp = arr[aLength-i-1];
  25. arr[aLength-i-1] = arr[maxIndex];
  26. arr[maxIndex] = temp;
  27. //将最大元素及位置归零
  28. var max = arr[0];
  29. var maxIndex = 0;
  30. }
  31. return indexArr;
  32. /*********end*********/
  33. }

JS条件语句

第1关: if-else类型

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. if(a >= 60) {
  6. return "pass";
  7. }
  8. else {
  9. return "unpass";
  10. }
  11. /********** End **********/
  12. }

第2关: switch类型

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var name;
  6. switch(a) {
  7. case 82414:name = "Superior";
  8. break;
  9. case 59600:name = "Huron";
  10. break;
  11. case 58016:name = "Michigan";
  12. break;
  13. case 25744:name = "Erie";
  14. break;
  15. case 19554:name = "Ontario";
  16. break;
  17. default:name = "error";
  18. break;
  19. }
  20. return name;
  21. /********** End **********/
  22. }

第3关: 综合练习

  1. //判断一个年份是否为闰年
  2. function judgeLeapYear(year) {
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var tt="年是闰年";
  6. var ff="年不是闰年";
  7. if(year%100==0){
  8. if(year%400==0){
  9. return year+tt;
  10. }else{
  11. return year+ff;
  12. }
  13. }else{
  14. if(year%4==0){
  15. return year+tt;
  16. }else{
  17. return year+ff;
  18. }
  19. }
  20. /********** End **********/
  21. }
  22. //对输入进行规范化处理
  23. function normalizeInput(input) {
  24. /********** Begin **********/
  25. var output;
  26. switch(input){
  27. case "中共党员":
  28. case "党员":
  29. case "共产党员":output="中共党员";
  30. break;
  31. case "中共预备党员":
  32. case "预备党员":output="中共预备党员";
  33. break;
  34. case "团员":
  35. case "共青团员":output="共青党员";
  36. break;
  37. case "大众":
  38. case "市民":
  39. case "人民": output="群众";
  40. break;
  41. default: output="错误数据";
  42. break;
  43. }
  44. return output;
  45. /********** End **********/
  46. }
  47. //判断苹果是否为优质品
  48. function evaluateApple(weight,water) {
  49. /********** Begin **********/
  50. if(weight>=200 )
  51. {return "是优质品";}
  52. else{
  53. if(water>=0.7)
  54. {return "是优质品";}
  55. else
  56. {return "不是优质品";}
  57. }
  58. /********** End **********/
  59. }

JS循环语句

第1关: while类型

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var sum = 0;
  6. var i = 2;
  7. while(i <= a) {
  8. var j = 2;
  9. while(j < i) {
  10. if(i%j == 0) {//能被整除,不是质数
  11. break;//不需要再判断
  12. }
  13. j ++;//除数加1,继续测试是不是质数
  14. }
  15. if(j == i) {//还是没有因数,证明这是一个质数
  16. sum = sum+i;//加在结果里面
  17. }
  18. i = i+1;//测试下一个数是不是质数
  19. }
  20. return sum;
  21. /********** End **********/
  22. }

第2关: do while类型

  1. function mainJs(a,b) {
  2. a = parseInt(a);
  3. b = parseInt(b);
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. var sum = 0;//结果
  7. var i = a+1;//从a后面的第一个数开始累加
  8. while(i < b) {//直到b前面的第一个数
  9. sum += i;
  10. i++;//下一个数
  11. }
  12. return sum;//返回结果和
  13. /********** End **********/
  14. }

第3关: for类型

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var numLen = a.toString().length;//求出是个几位数
  6. var num = 1;
  7. var result = 0;
  8. for(var i = 0;i < numLen;i++) {
  9. var curNum = a.toString().substring(i,i+1);//取出其中的第i位数
  10. result = result+curNum*num;
  11. num = num*10;
  12. }
  13. return result;
  14. /********** End **********/
  15. }

第4关: for in类型

  1. var apple = {
  2. weight:"200克",
  3. level:"特级",
  4. locationProvince:"陕西省",
  5. locationCity:"榆林市"
  6. }
  7. function mainJs(a,b){
  8. apple[a]= b;
  9. //请在此处编写代码
  10. /********** Begin **********/
  11. var result = "";//结果字符串
  12. for(var x in apple) {//遍历所有的属性
  13. if(x.indexOf("location") == 0) {//以location开头的属性
  14. result += apple[x];//属性的值拼接
  15. }
  16. }
  17. return result;//返回结果
  18. /********** End **********/
  19. }

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

  1. function mainJs(a) {
  2. var arr = a.split(",");
  3. for(var k = 0,length = arr.length;k < length;k++) {
  4. arr[k] = parseInt(arr[k]);
  5. }
  6. //请在此处编写代码
  7. /********** Begin **********/
  8. for(var i = 0,length = arr.length;i < length;i++) {
  9. var cur = arr[i];//数组的第i个数
  10. for(var j = 2;j < cur;j++) {
  11. if(cur%j == 0) break;//不是质数,不需要再测试
  12. }
  13. if(j == cur) break;//已经找到了质数cur
  14. }
  15. return arr[i];
  16. /********** End **********/
  17. }

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

  1. function mainJs(a,b) {
  2. a = a.split(",");
  3. for(var i = 0,length = a.length;i < length;i++) {
  4. a[i] = parseInt(a[i]);
  5. }
  6. var sum = 0;
  7. for(var i = 0,length = a.length;i < length;i++) {
  8. //请在此处编写代码
  9. /********** Begin **********/
  10. if(b > 0 && a[i] < 0) continue;//求正数的和,遇到负数跳过
  11. if(b < 0 && a[i] > 0) continue;//求负数的和,遇到正数跳过
  12. /********** End **********/
  13. sum += a[i];
  14. }
  15. return sum;
  16. }

JS函数

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

  1. //请在此处编写代码
  2. /********** Begin **********/
  3. function mainJs(a,b){
  4. return a+b;
  5. }
  6. /********** End **********/

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

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var myFunc = function(b) {
  6. var first = (b-b%100)/100;//求出百位数
  7. var second = (b%100-b%100%10)/10;//求出十位上的数
  8. var third = b-first*100-second*10;//求出各位数
  9. return first+second+third;
  10. }
  11. /********** End **********/
  12. return myFunc(a);
  13. }

第3关: 函数的调用

  1. //求最大值的函数
  2. function getMax(b,c) {
  3. return b>c?b:c;
  4. }
  5. //求最小值的函数
  6. var getMin = function(b,c) {
  7. return b>c?c:b;
  8. }
  9. //对象中的求和函数
  10. var myObject = {
  11. id:1,
  12. name:"function",
  13. myFunc:function(b,c) {
  14. return b+c;
  15. }
  16. }
  17. function mainJs(a,b,c) {
  18. a = parseInt(a);
  19. b = parseInt(b);
  20. c = parseInt(c);
  21. //请在此处编写代码
  22. /********** Begin **********/
  23. if(a == 1) {
  24. return getMax(b,c);
  25. } else if(a == 2) {
  26. return getMin(b,c);
  27. } else {
  28. return myObject.myFunc(b,c);
  29. }
  30. /********** End **********/
  31. }

第4关: 未定义的实参

  1. function mainJs(a,b,c,d) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. if(a === undefined) {
  5. a = "green";
  6. }
  7. if(b === undefined) {
  8. b = "green";
  9. }
  10. if(c === undefined) {
  11. c = "red";
  12. }
  13. if(d === undefined) {
  14. d = "yellow";
  15. }
  16. return a+"-"+b+"-"+c+"-"+d;
  17. /********** End **********/
  18. }

第5关: 实参对象

  1. //请在此处编写代码
  2. /********** Begin **********/
  3. function getMax() {
  4. var aLength = arguments.length;
  5. var amax = 0;
  6. for(var i = 0;i < aLength;i++) {
  7. if(arguments[i] > amax)
  8. amax = arguments[i];
  9. }
  10. return amax;
  11. }
  12. /********** End **********/
  13. function mainJs(a) {
  14. a = parseInt(a);
  15. switch(a) {
  16. case 1:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123);
  17. case 2:return getMax(23,21,56,34,89,34,32);
  18. case 3:return getMax(23,21,56,34);
  19. case 4:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123,8888);
  20. case 5:return getMax();
  21. default:break;
  22. }
  23. }

第6关: 对象作为参数

  1. var park = {
  2. name:"Leaf Prak",
  3. location:"Fifth Avenue",
  4. todayTourists:4000
  5. };
  6. var computer = {
  7. name:"Levenon",
  8. price:"$800",
  9. memory:"8G"
  10. };
  11. var city = {
  12. name:"HangZhou",
  13. country:"Chine",
  14. population:9400000
  15. }
  16. function objectFunction(object) {
  17. //请在此处编写代码
  18. /********** Begin **********/
  19. var result = "";
  20. for(x in object) {
  21. result = result+x+":"+object[x]+",";
  22. }
  23. return result;
  24. /********** End **********/
  25. }
  26. function mainJs(a) {
  27. a = parseInt(a);
  28. switch(a) {
  29. case 1:return objectFunction(park);
  30. case 2:return objectFunction(computer);
  31. case 3:return objectFunction(city);
  32. default:break;
  33. }
  34. }

第7关: 函数对象

  1. //求数组中奇数元素的个数
  2. function getOddNumber(a) {
  3. var result = 0;
  4. for(var i = 0;i < a.length;i++) {
  5. if(a[i]%2 != 0)
  6. result++;
  7. }
  8. return result;
  9. }
  10. //求数组中偶数元素的个数
  11. function getEvenNumber(a) {
  12. var result = 0;
  13. for(var i = 0;i < a.length;i++) {
  14. if(a[i]%2 == 0)
  15. result++;
  16. }
  17. return result;
  18. }
  19. function getNumber(func,a) {
  20. //请在此处编写代码
  21. /*********Begin*********/
  22. return func(a);
  23. /*********End*********/
  24. }
  25. //测试接口
  26. function mainJs(b,a) {
  27. a = a.split(",");
  28. var aLength = a.length;
  29. for(var i = 0;i < aLength;i++) {
  30. a[i] = parseInt(a[i]);
  31. }
  32. if(b == "getEvenNumber") {
  33. return getNumber(getEvenNumber,a);
  34. } else {
  35. return getNumber(getOddNumber,a);
  36. }
  37. }

字符串

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

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var startIndex = 0;
  5. var aLength = a.length;//a的长度
  6. var index = 0;
  7. var result = 0;
  8. while(startIndex < aLength) {//还没有匹配到末尾
  9. index = a.indexOf(b,startIndex);//本次匹配的位置
  10. if(index == -1) {//后面已经没有匹配的子串
  11. break;//提前结束整个过程
  12. }
  13. startIndex = index+1;//下次匹配的起始位置
  14. result += index;
  15. }
  16. return result;
  17. /*********End*********/
  18. }

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

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var result = "";
  5. for(var i = 0;i < 6;i++) {//遍历,依次获取前六个数字
  6. result += a.charAt(i);
  7. }
  8. return result;
  9. /********** End **********/
  10. }

第3关: 字符串的截取

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. if(a.indexOf(b) == -1) {//没有杂质字符串直接返回
  5. return a;
  6. } else {
  7. var startIndex = a.indexOf(b);//杂质字符串起始处
  8. var endIndex = startIndex+b.length;//杂质字符串结束处
  9. return a.slice(0,startIndex)+a.slice(endIndex);
  10. }
  11. /*********End*********/
  12. }

第4关: 大小写转换

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var str1 = b.toUpperCase();//把b转换为大写
  5. var aa = a.split(b);//以b为边界分割a为字符串数组
  6. a = aa.join(str1);//以转换后的b为边界重新连接字符串数组得到新的a
  7. return a;
  8. /*********End*********/
  9. }

第5关: 字符串的分割

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var spaceArray = a.split(" ");//以space分割
  5. var commaArray = a.split(",");//以逗号分隔
  6. return spaceArray.length+commaArray.length-1;
  7. /*********End*********/
  8. }

JS运算符

第1关: 算术运算符

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var a1 = parseInt(a);
  5. var b1 = parseInt(b);
  6. var c = a1%b1;
  7. a = a.toString();
  8. b = b.toString();
  9. c = c.toString();
  10. /********** End **********/
  11. return a+b+c;
  12. }

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

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. if(a > b) {
  5. return a&&b;
  6. }
  7. else {
  8. return !a;
  9. }
  10. /********** End **********/
  11. }

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

  1. function mainJs(a,b) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. return (a>b)?a:b;
  5. /********** End **********/
  6. }

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

  1. function mainJs(a,b) {
  2. var a = parseInt(a);
  3. var b = parseInt(b);
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. var c = (--a+b)*b==24?1:0;
  7. var d = 4;
  8. var e = (c*=d)+d;
  9. /********** End **********/
  10. return e;
  11. }

正则表达式

第1关: 字符串字面量

  1. function mainJs(a) {
  2. a = a.replace(",","\n");
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var pattern = /js\n/;
  6. /********** End **********/
  7. return pattern.test(a).toString();
  8. }

第2关: 字符类

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /[a-zA-Z][0-9]/;
  5. var pattern2 = /A[^0-9]/;
  6. /********** End **********/
  7. return pattern1.test(a).toString()+","+pattern2.test(a).toString();
  8. }

第3关: 重复

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /\?+/;
  5. var pattern2 = /\+{3,3}/;
  6. var pattern3 = /\{\}{1,2}/;
  7. var pattern4 = /\\{0,1}/;
  8. /********** End **********/
  9. return pattern1.test(a).toString()+","+pattern2.test(a).toString()+","+pattern3.test(a).toString()+","+pattern4.test(a).toString();
  10. }

第4关: 选择

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /[0-9]{17}([0-9]|X)/;
  5. var pattern2 = /2(3|4)[0-9]{4}/;
  6. var pattern3 = /010|02[012345789]/;
  7. /********** End **********/
  8. return pattern1.test(a).toString()+","+pattern2.test(a).toString()+","+pattern3.test(a).toString();
  9. }

第5关: 分组

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /(\?\+){2,}/;
  5. var pattern2 = /\d(\?|\+)\d/;
  6. /********** End **********/
  7. return pattern1.test(a).toString()+","+pattern2.test(a).toString();
  8. }

第6关: 引用

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern1 = /([0-9]{3})[^0-9]\1/;
  5. var pattern2 = /[A-Z]([0-9])[A-Z]\1[A-Z]\1/;
  6. /********** End **********/
  7. return pattern1.test(a).toString()+","+pattern2.test(a).toString();
  8. }

第7关: 匹配位置

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern = /^js\b/;
  5. /********** End **********/
  6. return pattern.test(a).toString();
  7. }

第8关: 修饰符

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern = /\bshell\b/ig;
  5. /********** End **********/
  6. return a.match(pattern);
  7. }

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

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. var pattern = /[0-9]/g;
  5. return a.replace(pattern,"");
  6. /********** End **********/
  7. }

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索