网站建设定制开发JavaScript下部分--头歌(educoder)实训作业题目及答案

目录


 JSON

第1关:

  1. function mainJs(a,b,c) {
  2. //网站建设定制开发网站建设定制开发请在此处编写代码
  3. /********** Begin **********/
  4. var JSONObject = {"key1":a,"key2":b,"key3":c};//定义JSON对象
  5. delete JSONObject.key3;//网站建设定制开发删除名字为key3的属性
  6. var result = "";
  7. for(var att in JSONObject) {//网站建设定制开发遍历剩余所有的属性
  8. result = result+JSONObject[att]+",";
  9. }
  10. return result.slice(0,-1);
  11. /********** End **********/
  12. }

第2关:

  1. var myJson = {
  2. "category":"computer",
  3. "detail":"programming",
  4. "language":[
  5. "js","java","php","python","c"
  6. ]
  7. }
  8. function mainJs(a) {
  9. a = parseInt(a);
  10. //请在此处编写代码
  11. /********** Begin **********/
  12. var result = "";
  13. for(var i = 0;i < a;i++) {
  14. result = result+myJson.language[i]+",";
  15. }
  16. return result.slice(0,-1);
  17. /********** End **********/
  18. }

第3关: JSON字符串

  1. var JSONString = '{"key1":"value1","key2":"value2"}';
  2. function mainJs(a) {
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. //JSON字符串转换为JSON对象
  6. var JSONObject = JSON.parse(JSONString);
  7. //修改key1属性的值为参数a
  8. JSONObject.key1 = a;
  9. //JSON对象转换为JSON字符串并返回
  10. return JSON.stringify(JSONObject);
  11. /********** End **********/
  12. }

Math、日期和异常处理

第1关: Math类

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. //请在此处编写代码
  4. /********** Begin **********/
  5. var b = Math.ceil(a);
  6. var c = Math.floor(a);
  7. var d = Math.sqrt(a);
  8. var e = Math.round(a);
  9. var f = Math.sin(a);
  10. return Math.max(b,c,d,e,f)+Math.min(b,c,d,e,f);
  11. /********** End **********/
  12. }

第2关: Date类

  1. function mainJs(a) {
  2. a = parseInt(a);
  3. var date = new Date(a);
  4. //请在此处编写代码
  5. /********** Begin **********/
  6. var year = date.getFullYear();
  7. var month = date.getMonth();
  8. var cal = date.getDate();
  9. var day = date.getDay();
  10. return year+","+month+","+cal+","+day;
  11. /********** End **********/
  12. }

第3关: JavaScript错误

  1. function mainJs(a) {
  2. //请在此处编写代码
  3. /********** Begin **********/
  4. try {
  5. if(a < 0)
  6. throw new Error("negative cannot be rooted");
  7. if(a == 0)
  8. throw new Error("zero cannot be numerator");
  9. return 1/(Math.sqrt(a));
  10. }catch(err) {
  11. return err.message;
  12. }
  13. /********** End **********/
  14. }

HTML DOM——文档元素的操作(一)

第1关: 通过id获取文档元素

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>get element by id</title>
  6. </head>
  7. <body>
  8. <a id="a1" src="https://www.google.com">Google</a>
  9. <p id="p1">this is a text</p>
  10. <script>
  11. <!-- 请在此处编写代码 -->
  12. <!---------Begin--------->
  13. var myElement = document.getElementById("a1");
  14. <!---------End--------->
  15. myElement.href="https://www.educoder.net";
  16. </script>
  17. </body>
  18. </html>

第2关: 通过类名获取文档元素

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>get element by name</title>
  6. </head>
  7. <body>
  8. <img src="" class="myName"/>
  9. <form class="myName" id="myForm"></form>
  10. <q class="myName">This is quote</q>
  11. <p class="myName">This is what you should get</p>
  12. <script>
  13. <!-- 请在此处编写代码 -->
  14. <!---------Begin--------->
  15. var myElement = document.getElementsByClassName("myName")[3];
  16. <!---------End--------->
  17. myElement.innerText="I changed the text";
  18. </script>
  19. </body>
  20. </html>

第3关: 通过标签名获取文档元素

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>get element by id</title>
  6. </head>
  7. <body>
  8. <div class="diva">
  9. <a href="https://www.educoder.net">EduCoder</a>
  10. <a href="https://www.facebook.com">FaceBook</a>
  11. </div>
  12. <div class="divb">
  13. <a href="https://www.twitter.com">Twitter</a>
  14. <form name="myForm"></form>
  15. <a href="https://www.nudt.edu.cn">NUDT</a>
  16. </div>
  17. <p id="pp">this is a text</p>
  18. <script>
  19. <!-- 请在此处编写代码 -->
  20. <!---------Begin--------->
  21. var temp= document.getElementsByTagName("div")[1];
  22. var myElement = temp.getElementsByTagName("a")[1];
  23. <!---------End--------->
  24. myElement.innerText="nudt";
  25. </script>
  26. </body>
  27. </html>

第4关: html5中获取元素的方法一

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <p>你需要获得的元素是我</p>
  8. <p>是楼上</p>
  9. <p>是楼上的楼上</p>
  10. <script>
  11. <!-- 请在此处编写代码 -->
  12. <!---------Begin--------->
  13. var pElement = document.querySelector("p");
  14. <!---------End--------->
  15. console.log(pElement);
  16. </script>
  17. </body>
  18. </html>

第5关: html5中获取元素的方法二

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <p>你需要获得的元素是我</p>
  8. <p>包括我</p>
  9. <p>还有我</p>
  10. <script>
  11. <!-- 请在此处编写代码 -->
  12. <!---------Begin--------->
  13. var pElement = document.querySelectorAll("p");
  14. <!---------End--------->
  15. console.log(pElement);
  16. </script>
  17. </body>
  18. </html>

第6关: 节点树上的操作

  1. <html>
  2. <head>
  3. <title>myTitle</title>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <div id="div1">
  8. <div class="cl1">
  9. <p>文本</p>
  10. <a>超链接</a>
  11. </div>
  12. <div class="cl2">
  13. <select>
  14. <option></option>
  15. <option></option>
  16. <option></option>
  17. </select>
  18. </div>
  19. </div>
  20. <script>
  21. var cl2 = document.getElementById("div1").lastElementChild;
  22. <!-- 请在此处编写代码 -->
  23. <!---------Begin--------->
  24. var myElement = cl2.firstElementChild.children[1];
  25. <!---------End--------->
  26. myElement.innerText = "绿";
  27. </script>
  28. </body>
  29. </html>

第7关: 属性值的获取

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <p id="p"></p>
  8. <img class="imgClass"/>
  9. <a id="a"></a>
  10. <script>
  11. <!-- 请在此处编写代码 -->
  12. <!---------Begin--------->
  13. var myElement = document.getElementsByClassName("imgClass")[0];
  14. var srcValue = myElement.className;
  15. <!---------End--------->
  16. console.log(srcValue);
  17. </script>
  18. </body>
  19. </html>

第8关: 属性值的设置

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <p id="p"></p>
  8. <form id="form1" method="get" target="https://abc.xyz/def/ghi">This is form</form>
  9. <a id="a"></a>
  10. <script>
  11. <!-- 请在此处编写代码 -->
  12. <!---------Begin--------->
  13. var myElement = document.getElementById("form1");
  14. myElement.method = "post";
  15. <!---------End--------->
  16. console.log(document.getElementById("form1").method);
  17. </script>
  18. </body>
  19. </html>

HTML DOM——文档元素的操作(二)

第1关: 创建节点

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <p></p>
  8. <script>
  9. <!-- 请在此处编写代码 -->
  10. <!---------Begin--------->
  11. var newNode = document.createElement("form");
  12. newNode.method = "post";
  13. newNode.id = "myForm";
  14. <!---------End--------->
  15. document.body.appendChild(newNode);
  16. console.log(newNode.method);
  17. </script>
  18. </body>
  19. </html>

第2关: 插入节点

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <ul id="ul1">
  8. <li>America</li>
  9. <li>Mexio</li>
  10. </ul>
  11. <script>
  12. <!-- 请在此处编写代码 -->
  13. <!---------Begin--------->
  14. var newNode = document.createElement("li");
  15. newNode.innerText = "Canada";
  16. document.getElementById("ul1").appendChild(newNode);
  17. <!---------End--------->
  18. var out = document.getElementsByTagName("li")[2];
  19. console.log(out.innerText);
  20. </script>
  21. </body>
  22. </html>

第3关: 删除节点

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <ol id="browser">
  8. <li id="chrome">Chrome</li>
  9. <li id="firefox">Firefox</li>
  10. <li id="opera">Opera</li>
  11. <li id="safari">Safari</li>
  12. </ol>
  13. <script>
  14. <!-- 请在此处编写代码 -->
  15. <!---------Begin--------->
  16. var parent = document.getElementById("browser");
  17. var child = document.getElementById("opera");
  18. parent.removeChild(child);
  19. <!---------End--------->
  20. </script>
  21. </body>
  22. </html>

第4关: 替换节点

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <ol id="parent">
  8. <a id="old" href="https://www.google.com">Google</a>
  9. </ol>
  10. <script>
  11. var newChild = document.createElement("a");
  12. newChild.innerText = "eduCoder";
  13. newChild.href = "https://www.educoder.net";
  14. <!-- 请在此处编写代码 -->
  15. <!---------Begin--------->
  16. var parent = document.getElementById("parent");
  17. var old = document.getElementById("old");
  18. parent.replaceChild(newChild,old);
  19. <!---------End--------->
  20. </script>
  21. </body>
  22. </html>

第5关: 综合练习

  1. <html>
  2. <head>
  3. <title>myTitle</title>
  4. <meta charset="utf-8" />
  5. </head>
  6. <body>
  7. <select id="province" onChange="changeCity()">
  8. <option value="BeiJing" id="bj">北京</option>
  9. <option value="AnHui" id="ah">安徽</option>
  10. </select>
  11. <select id="city">
  12. <option value="BeiJingCity">北京市</option>
  13. </select>
  14. <script>
  15. function changeCity() {
  16. var province = document.getElementById("province");
  17. var city = document.getElementById("city");
  18. var length = city.children.length;
  19. for(var i = length-1;i >= 0;i--) {
  20. city.removeChild(city.children[i]);
  21. }
  22. if(province.value == "BeiJing") {
  23. var child1 = document.createElement("option");
  24. child1.value="BeiJingCity";
  25. child1.innerText="北京市"
  26. city.appendChild(child1);
  27. } else {
  28. var child1 = document.createElement("option");
  29. child1.value="HuangShanCity";
  30. child1.innerText="黄山市";
  31. city.appendChild(child1);
  32. //请在此处编写代码
  33. /*********Begin*********/
  34. var child2 = document.createElement("option");
  35. child2.value="HeFeiCity";
  36. child2.innerText="合肥市";
  37. city.appendChild(child2);
  38. /*********End*********/
  39. }
  40. }
  41. </script>
  42. </body>
  43. </html>

事件处理

第1关: 注册事件处理程序

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <button id="button1" onclick="listenButton1()">按钮1</button>
  9. <button id="button2">按钮2</button>
  10. <button id="button3">按钮3</button>
  11. <script>
  12. function listenButton1() {
  13. console.log("监听button1");
  14. }
  15. function listenButton2() {
  16. console.log("监听button2");
  17. }
  18. function listenButton3() {
  19. console.log("监听button3");
  20. }
  21. //请在此处编写代码
  22. /********** Begin **********/
  23. var button2 = document.getElementById("button2");
  24. button2.onclick = listenButton2;
  25. var button3 = document.getElementById("button3");
  26. button3.addEventListener("click",listenButton3);
  27. /********** End **********/
  28. </script>
  29. </body>
  30. </html>

第2关: 文档加载事件

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body onload="loadEvent()">
  8. <script>
  9. function loadEvent() {
  10. //请在此处编写代码
  11. /********** Begin **********/
  12. console.log("Welcome!");
  13. /********** End **********/
  14. }
  15. </script>
  16. </body>
  17. </html>

第3关: 鼠标事件

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <p id="p">
  9. text
  10. </p>
  11. <button id="but">
  12. button
  13. </button>
  14. <script>
  15. //请在此处编写代码
  16. /********** Begin **********/
  17. var myButton = document.getElementById("but");
  18. myButton.addEventListener("click",function() {
  19. var myElement = document.getElementById("p");
  20. myElement.innerText="clicked";
  21. })
  22. /********** End **********/
  23. </script>
  24. </body>
  25. </html>

第4关: 键盘事件

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body onkeypress="pressEvent(event)">
  8. <script>
  9. function pressEvent(event) {
  10. //请在此处编写代码
  11. /********** Begin **********/
  12. var code = event.which;
  13. if (code == 13) {
  14. console.log("cannot use enter");
  15. }
  16. /********** End **********/
  17. }
  18. </script>
  19. </body>
  20. </html>

第5关: 表单事件

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <form>
  9. <input id="input" type="text" onchange="changeEvent()" />
  10. <input id="input2" type="text" />
  11. </form>
  12. <script>
  13. function changeEvent() {
  14. //请在此处编写代码
  15. /********** Begin **********/
  16. var ele = document.getElementById("input");
  17. var len = ele.value.length;
  18. if (len <= 12) {
  19. console.log("too short input");
  20. }
  21. /********** End **********/
  22. }
  23. </script>
  24. </body>
  25. </html>

第6关: 拖动事件

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <div>
  9. <!-- 请在此处编写代码 -->
  10. <!---------Begin--------->
  11. <p ondrag="dragging(event)" id="p1" draggable="true">drag me</p>
  12. <!---------End--------->
  13. </div>
  14. <script>
  15. function dragging(event) {
  16. /********** Begin **********/
  17. console.log(event.target.innerText);
  18. /********** End **********/
  19. }
  20. </script>
  21. </body>
  22. </html>

第7关: 事件冒泡

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <div id="div1" onclick="click1()">
  9. <div id="div2" onclick="click2()">
  10. <p id="p" onclick="click3()">click me!</p>
  11. </div>
  12. </div>
  13. <script>
  14. function click1() {
  15. console.log("root");
  16. }
  17. function click2() {
  18. //请在此处编写代码
  19. /********** Begin **********/
  20. window.event?window.event.cancelBubble=true:event.stopPropagation();
  21. /********** End **********/
  22. console.log("parent");
  23. }
  24. function click3() {
  25. console.log("child");
  26. }
  27. </script>
  28. </body>
  29. </html>

浏览器对象模型

第1关: 定时器

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <p onclick="handleTimer()">set timer then undo</p>
  9. <script>
  10. var timeId;
  11. function timerTask() {
  12. console.log("this is timer task");
  13. }
  14. function handleTimer() {
  15. //请在此处编写代码
  16. /********** Begin **********/
  17. timeId = window.setTimeout(timerTask,2000);
  18. /********** End **********/
  19. }
  20. </script>
  21. </body>
  22. </html>

第2关: 循环定时器

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <p onclick="task1()">this is task onea</p>
  9. <p onclick="task2()">this is task two</p>
  10. <p onclick="removeTask1()">try to remove task one</p>
  11. <script>
  12. var timeId1;
  13. var timeId2;
  14. function timerTask1() {
  15. console.log("timerTask1!");
  16. }
  17. function timerTask2() {
  18. console.log("timerTask2!");
  19. }
  20. function task1() {
  21. timeId1 = window.setInterval(timerTask1,2000);
  22. }
  23. function task2() {
  24. timeId2 = window.setInterval(timerTask2,1500);
  25. }
  26. function removeTask1() {
  27. //请在此处编写代码
  28. /********** Begin **********/
  29. window.clearInterval(timeId1);
  30. /********** End **********/
  31. }
  32. </script>
  33. </body>
  34. </html>

第3关: location对象

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <p onclick="openNew()">Click me to new page!</p>
  9. <script>
  10. function openNew() {
  11. //请在此处编写代码
  12. /********** Begin **********/
  13. var loc = window.location;
  14. console.log(loc.hostname);
  15. loc.href = "https://www.educoder.net/forums/categories/all?order=newest";
  16. /********** End **********/
  17. }
  18. </script>
  19. </body>
  20. </html>

第4关: 对话框

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <p onclick="inputName()">Click to input name!</p>
  9. <script>
  10. function inputName() {
  11. var result;
  12. //请在此处编写代码
  13. /********** Begin **********/
  14. result = window.prompt("your name", "XiaoMing");
  15. if (result === null) {
  16. console.log("name cannot be null");
  17. }
  18. /********** End **********/
  19. }
  20. </script>
  21. </body>
  22. </html>

第5关: 窗口

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <p onclick="openNewWindow()">open new window</p>
  9. <script>
  10. var myWindow;
  11. function openNewWindow() {
  12. //请在此处编写代码
  13. /********** Begin **********/
  14. myWindow = window.open("Demo.html", "window_name");
  15. /********** End **********/
  16. }
  17. </script>
  18. </body>
  19. </html>

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发