前端考试参考


JavaScript书上1-8章节选择题答案:
第一章 一、 填空题 1. 单行注释以__//___开始。 2. console.log(alert('Hello'))在控制台的输出结果是_undefined_____。 3. JavaScript由__ECMAScript____、_DOM_____、___BOM___三部分组成。 4. console.log('<script>alert(123);<\/script>') 的输出结果是___<script>alert(123);</script>___。 二、 判断题 1. JavaScript不可以跨平台。( X ) 2. alert('test')与Alert('test')都表示以警告框的形式弹出test提示信息。( X) 3. 在JavaScript中,如果一条语句结束后,换行书写下一条语句,后面的分号可以省略。( √) 4. 通过外链式引入JavaScript时,可以省略</script>标签。( X ) 5. async用于异步加载,即先下载文件,不阻塞其他代码执行。( √ 6. JavaScript中,age与Age代表不同的变量√) 三、 选择题 1. 下列选项中不属于ECMAScript 6保留关键字的是( C )。 A. delete B. this C. static D. new 2. JavaScript为代码添加多行注释的语法为( C )。 A. <!-- --> B. // C. /* */ D. # 3. 下列选项中,不能作为变量名开头的是( B )。 A. 字母 B.数字 C. 下划线 D.$ 四、 编程题 利用本章知识,编写一个将用户输入的信息输出到网页的JavaScript程序。 第二章 一、 填空题 1. JavaScript中的数据类型分为两大类,分别是__基础数据类____和__复杂数据类(引用数据类)____。 2. 表达式(-5) % 3的运行结果等于___-2___。 3. 表达式“var a = 1, b = 1;console.log(++a)”的输出结果是__-2____。 二、 判断题 1. JavaScript中的数字型可以用来保存整数或浮点数(小数)。( √) 2. console.log((3 + 6) * 2); 语句的输出结果为15。( X ) 3. 运算符“.”可用于连接两个字符串。(X ) 三、 选择题 1. “console.log(true - 1)”语句输出的结果是( B)。 A. 1 B. 0 C. true1 D. -1 2. 下列选项中,与0相等(==)的是( D)。 A. null B. undefined C. NaN D. '' 3. 下列选项中,不属于比较运算符的是(D )。 A. == B. === C. !== D. = 四、 编程题 1. 根据用户输入的数值(数字1~7),返回对应的星期几。例如,7代表星期日、6代表星期六,依次类推。 2. 比较两个数的最大值(用户依次输入2个数,最后弹出最大的那个值)。 第三章 一、 填空题 1. 表达式“[a, b] = [12, 34, 56]”执行后,变量b的值为____34__。 2. ___continue___关键字,在循环语句中使用时,可以用来立即跳出本次循环。 二、 判断题 1. while语句可以在条件表达式为true的前提下,循环执行指定的一段代码,直到条件表达式为false时结束循环。( √ ) 2. break关键字,在循环语句中使用时,其作用是立即跳出本次循环( X ) 3. 可以使用“数组名[索引]” 的方式来访问数组元素( √) 三、 选择题 1. 下列语句不能用于遍历数组的是( D )。 A.for B.for…in C.for…of D.if 2. 执行代码“var nums = [[2, 4], [6, 9]];console.log(nums[1][0]);”,输出结果正确的是( D)。 A.2 B.4 C. 6 D. 9 3. 下列创建数组的方式,错误的是( C)。 A.var arr = new Array(); B. var arr = []; C.var arr = new array(); D. var arr =[]; arr.length = 3; 四、 编程题 1. 移出数组arr“[1,2,3,4,2,5,6,2,7,2]”中与2相等的元素,并生成一个新数组,不改变原数组。 2. 请将数组“['苹果', '香蕉', '酥梨', '榴莲', '樱桃', '柿子', '葡萄', '哈密瓜', '西瓜']”中的元素依次打印到控制台。 第四章 一、 填空题 1. ___函数表达式___方式定义函数时,要考虑函数定义和执行的顺序。 2. JavaScript中函数的作用域分为全局作用域、__函数作用域____和块级作用域。 3. 代码“function info() {year = 1999;};info();console.log(year)”的结果是__1999____。 二、 判断题 1. 函数showTime()与showtime()表示的是同一个函数。( X ) 2. 函数内通过关键子var定义的变量可以在全局作用域下进行访问。( X ) 3. 函数“((a, b)=> a * b)(6, 2);”的返回值是12。( √ ) 三、 选择题 1. 阅读以下代码,执行fn1(4, 5)的返回值是(B)。 function fn1(x, y) { return (++x) + (y++); } A. 9 B.10 C.11 D.12 2. 阅读以下代码,执行fn(7)的返回值是( A )。 var x = 10; function fn(myNum) { var x = 11 return x + myNum; } A. 18 B. 17 C. 10 D. NaN 3. 下列选项中,可以用于获取用户传递的实际参数值的是(D )。 A. arguments.length B. theNums C. params D. arguments 四、 程序分析题 1. 写出下面代码的运行结果。 var a, b; (function() { alert(a); alert(b); var a = b = 3; alert(a); alert(b); })(); alert(a); alert(b); 2. 以下代码执行后, num 的值是多少? var foo = function(x, y) { return x - y; }; function foo(x, y) { return x + y; } var num = foo(1, 2); console.log(num); 第五章 一、 填空题 1. 当需要判断一个对象中的某个成员是否存在时,可以使用____in__运算符。 2. Math中的___random()___方法用来获取随机数,每次调用该方法返回的结果都不同。 3. ___Date()___是日期对象的构造函数。 4. 可以通过Date对象中的___getMonth()___方法来获取月份,范围是0~11。 二、 判断题 1. 利用构造函数(类)创建对象的过程,称为实例化。(√ ) 2. Math对象用来对数字进行与数学相关的运算,该对象是构造函数。( X ) 3. 数组类型检测有两种常用的方式,分别是使用instanceof运算符和使用Array.isArray()方法。( √) 4. 使用Math.floor(Math.random() * (max + 1) + 1)表示生成1到任意数之间的随机整数。(√) 三、 选择题 1. 下面选项中,获取从1970-01-01 00:00:00距离Date对象所代表时间的毫秒数的是( A)。 A. getTime() B. setTime() C. getFullYear() D. getMonth() 2. 下面选项中,删除数组的最后一个元素的方法是( A )。 A. pop() B. unshift() C. shift() D. push() 3. 下列选项中,可以实现颠倒数组中元素的位置的是( A )。 A. reverse() B. sort() C. indexOf() D. lastIndexOf() 四、 编程题 1. 利用String对象实现删除字符串前后空格字符。 2. 请用对象字面量的形式创建一个名字为可可的狗对象,具体信息如下。  名称:可可  类型(type):阿拉斯加犬  年龄:5岁  颜色:棕红色  技能:汪汪叫、摇尾巴 第六章 一、 填空题 1. 事件的三要素分别是__时间源____、___事件类型___、_____事件处理程序_。 2. ___getElementByld()___方法是根据id来获取元素。 3. 通过___innerHTML___、___innerText___、__textContent____方式可以修改元素内容。 二、 判断题 1. document.querySelector('div')可以获取文档中第一个div元素。( √ ) 2. Web API包括BOM和DOM两部分组成。( √ ) 3. HTML文档每个换行<br>都是一个文本节点。(X ) 4. document对象的getElementsByClassName()方法和getElementsByName()方法返回的都是元素对象集合HTMLCollection。( X ) 三、 选择题 1. 下面可用于获取文档中第一个div元素的是( A)。 A. document.querySelector('div') B. document.querySelectorAll('div') C. document.getElementsByName('div') D. 以上选项都可以 2. 下列选项中,可以作为DOM的style属性操作的样式名为( B )。 A. Background B. left C. font-size D. Textalign 3. 下列选项中,可用于实现动态改变指定div中内容的是( C)。 A.console.log() B. document.write() C. innerHTML D. 以上选项都可以 4. 关于获取元素,以下描述正确的是(D )。 A. document.getElementById()获取到的是元素集合 B. document.getElementsByTagName()获取到的是单个元素 C. document.querySelector()获取到的是元素集合 D. document.getElementsByClassName()有浏览器兼容性问题 5. 以下代码用于单击一个按钮,弹出对话框。在横线处应填写的正确代码是( A)。 <button id="btn">唐伯虎</button> <script> var btn = document.getElementById('btn'); ____________ </script> A. btn.onclick = function() { alert('点秋香'); } B. btn.onclick = alert( '点秋香' ); C. btn.click = function() { alert('点秋香'); } D. btn.click() 四、 编程题 请编写代码,实现根据系统时间显示问候语的功能,通过改变div中内容,显示不同问候语。要求如下。  6点之前,显示问候语“凌晨好”。  9点之前,显示问候语“早上好”。  12点之前,显示问候语“上午好”。  14点之前,显示问候语“中午好”。  17点之前,显示问候语“下午好”。  19点之前,显示问候语“傍晚好”。  22点之前,显示问候语“晚上好”。  22点之后包括22点,显示问候语“夜里好”。 第七章 一、 填空题 1. 排他思想的实现步骤是___所有元素全部清除___与___设置当前元素___。 2. HTML 5新增了通过___date-属性名___方式设置自定义属性。 3. HTML 5中通过___element.dataset.属性或者element.dataset[‘属性’]___获取自定义属性。 4. __children____属性可以获取元素的所有子元素节点,它是一个可读属性。 5. DOM根据HTML中各节点的不同作用,将文档中的注释单独划分为__注释节点____。 二、 判断题 1. 使用document.createElement()可以创建元素节点。( √ ) 2. 键盘事件对象是KeyBoardEvent。( √ ) 3. 低版本的IE浏览器(IE 6~IE 8)中,可以通过event获取事件对象。( √ ) 4. appendChild()方法表示将一个节点添加到指定父节点的子节点列表前面。( x ) 5.cloneNode()方法表示返回调用该方法的节点的一个副本,也称为克隆节点。( √ ) 三、 选择题 1. 下列选项中,可以实现创建元素的是( D)。 A. element.push('<p>你好</p>') B. element.pop('<p>你好</p>') C. element.innerHtml = '<p>你好</p>' D. document.createElement("p") 2. 关于添加元素,下列选项描述错误的是( D )。 A. innerHTML会覆盖原来的元素 B. appendChild 是在父元素内部追加 C. insertBefore是在父元素内部指定的位置添加 D. createElement创建的元素立即会添加到页面中 3. 关于事件对象,描述错误的是( D )。 A. 事件对象的属性中保存了跟事件相关的一系列信息 B. 事件触发时就会产生事件对象 C. 事件对象的获取有兼容性问题 D. 通过事件对象不可以阻止事件冒泡和默认行为 4. 下列选项,可以正确获取到兼容了各个浏览器的事件对象的是( A)。 A. document.onclick = function (event) { var e = window.event || event; } B. document.onclick = function (event) { var e = window.evt || event; } C. document.onclick = function (event) { var e = window.event || evt; } D. document.onclick = function (event) { var e = window.evt || evt; } 5. 关于事件监听,描述错误的是( C )。 A. 可以给同一元素同一事件注册多个监听器 B. addEventListener() 有浏览器兼容问题 C. addEventListener() 方法有两个参数 D. 低版本的IE可以使用attachEvent代替addEventListener 四、 简答题 1. 请简单介绍排他操作的一般实现步骤。 第一步:所以元素全部清除 第二部:设置当前元素 2. 请解释说明childNodes和children的区别。 childNodes:属性获得的是当前元素的所有子节点的集合,该集合为即时更新的集合 children: 是一个可读的属性,返回所有子元素节点,只返回子元素节点,其余节点不返回 五、 编程题 完成动态生成表格案例,具体要求如下。 ① 使用数组把学生数据模拟出来。 ② 动态创建行、单元格。 ③ 为单元格填充数据。 ④ 提供“删除”链接,可删除所在的行。 案例的实现效果如下图所示。 动态生成表格 第八章 一、 填空题 1. 在BOM中,所有对象的父对象是___window___。 2. 页面中所有内容加载完之后触发的事件是___window.onload___。 3. history对象的___length___属性可获取历史列表中的URL数量。 4. __document.DOMContentLoaded____事件是在DOM结构加载完触发的。 二、 判断题 1. 全局变量可以通过window对象进行访问。( √ ) 2. 修改location对象的href属性可获取或设置URL。( √ ) 3. 使用clearTimeout()和clearInterval()可以清除定时器。(√ ) 4. 使用history对象的 go()方法可以实现页面前进或后退。(√ ) 三、 选择题 1. 下列选项中,不是window对象的属性的是( A)。 A. pageX B. location C. history D. navigator 2. 下面关于BOM对象的描述,错误的是( D )。 A. go(-1)与back()皆表示向历史列表后退一步 B.通过confirm()实现的“确认”对话框,单击“确认”时返回true C. go(0)表示刷新当前网页 D.以上选项都不正确 3. 下列描述错误的是( A )。 A. onload和DOMContentLoaded都是页面加载事件,没有区别 B. DOMContentLoaded有浏览器兼容问题 C. 定义在全局作用域中的变量是window对象的属性 D. window对象的方法在调用时可以省略不写window 四、 编程题 编写程序,实现电子时钟自动走动的效果,并提供一个按钮控制电子时钟是否停止走动。
编程题代码:
第一章 1.用户输入的信息。 JavaScript代码如下: <script> var msg = prompt("请您输入内容"); alert('用户输入的内容是:'+ msg) </script> 第二章 1.用户依次输入 数值,返回对应的星期。 <script> var number = prompt('请输入1-7之间的数字'); switch (number) { case '7': alert('星期日'); break; case '6': alert('星期六'); break; case '5': alert('星期五'); break; case '4': alert('星期四'); break; case '3': alert('星期三'); break; case '2': alert('星期二'); break; case '1': alert('星期一'); break; default: alert('请输入1~7之间的数字'); } </script> 2. 比较两个数的最大值: JavaScript代码如下: <script> var num1 = prompt('请输入第1个数'); var num2 = prompt('请输入第2个数'); if(parseFloat(num1) > parseFloat(num2)){ alert('最大的数是'+ num1) }else{ alert('最大的数是'+ num2) } </script> 第三章 1.苹果榴莲香蕉打印。 <script> var arr = [1,2,3,4,2,5,6,2,7,2]; var newArr=[]; for(var i=0;i<arr.length;i++){ if(arr[i] != 2){ newArr[newArr.length] = arr[i]; } } console.log(newArr); </script> 2. JavaScript代码如下: <script> var arr = ['苹果', '香蕉', '酥梨', '榴莲', '樱桃', '柿子', '葡萄', '哈密瓜', '西瓜']; for(var i=0;i<arr.length;i++){ console.log(arr[i]); } </script> 第四章 1.写出运行结果。 <script> var a, b; (function() { alert(a); // undefined alert(b); // undefined var a = b = 3; alert(a); // 3 alert(b); // 3 })(); alert(a); // undefined alert(b); // 3 </script> 2. 运行代码,num的值是多少?。 <script> var foo = function(x, y) { return x - y; }; function foo(x, y) { return x + y; } var num = foo(1, 2); console.log(num); // 结果为:-1 </script> 第五章 1. 可可狗 <script> var dog = { dName: '可可', type: '阿拉斯加犬', age: '5岁', color: '棕红色', call: function() { console.log('汪汪叫'); }, tail: function() { console.log('摇尾巴'); } }; console.log(dog.dName); console.log(dog.type); console.log(dog.age); console.log(dog.color); dog.call(); dog.tail(); </script> 第六章 1.根据系统时间显示问候语 <div></div> <script> // 根据系统不同时间来判断,所以需要用到日期内置对象 // 利用多分支语句来设置不同的图片 // 1.获取元素 var div = document.querySelector('div'); // 2. 得到当前的小时数 var h = new Date().getHours(); // 3. 判断小时数改变文字信息 if(h < 6){ document.write('凌晨好') }else if (h < 9){ document.write("早上好!") }else if (h < 12){ document.write("上午好!") }else if (h < 14){ document.write("中午好!") }else if (h < 17){ document.write("下午好!") }else if (h < 19){ document.write("傍晚好!") }else if (h < 22){ document.write("晚上好!") }else { document.write("夜里好!") } </script> 第七章 四、 简答题 1. 请简单介绍排他操作的一般实现步骤。 第一步是:所有元素全部清除(排除掉其他的(包括自己)) 第二步是:设置当前元素(给自己设置想要实现的效果) 2. 请解释说明childNodes和children的区别。 childNodes:属性获得的是当前元素的所有子节点的集合,该集合为即时更新的集合 children: 是一个可读的属性,返回所有子元素节点,只返回子元素节点,其余节点不返回 五、 编程题 1. HTML代码如下: <table cellspacing="0"> <thead> <tr> <th>姓名</th> <th>科目</th> <th>成绩</th> <th>操作</th> </tr> </thead> <tbody> </tbody> </table> JavaScript代码如下: <script> var datas = [{ name: '张三', subject: 'JavaScript', score: 100 }, { name: '李四', subject: 'JavaScript', score: 90 }, { name: '刘五', subject: 'JavaScript', score: 90 }]; var tbody = document.querySelector('tbody'); for (var i = 0; i < datas.length; i++) { // 外面的for循环管行 tr var tr = document.createElement('tr'); tbody.appendChild(tr); for (var k in datas[i]) { // 里面的for循环管列 td var td = document.createElement('td'); td.innerHTML = datas[i][k]; tr.appendChild(td); } var td = document.createElement('td'); td.innerHTML = '<a href="javascript:;">删除 </a>'; tr.appendChild(td); } var as = document.querySelectorAll('a'); for (var i = 0; i < as.length; i++) { as[i].onclick = function() { tbody.removeChild(this.parentNode.parentNode) } } } </script> 第八章 编写功能代码,具体代码如下: <a id = "time"></a> <button onclick = "clearInterval(time1)">停止</button> <script type="text/javascript"> var time1 = window.setInterval('timeShow()', 1000); timeShow() function timeShow() { var today = new Date(); var intYears = today.getFullYear(); intMonths = today.getMonth() + 1; intDates = today.getDate(); intHours = today.getHours(); intMinutes = today.getMinutes(); intSeconds = today.getSeconds(); intWeeks = today.getDay(); years = intYears + '年'; intMonths < 10 ? months = '0' + intMonths + '月' : months = intMonths + '月'; intDates < 10 ? dates = '0' + intDates + '日' : dates = intDates + '日'; var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'] weeks = week[intWeeks] + ' '; if (intHours == 0) { hours = '00:'; } else if (intHours < 10) { hours = '0' + intHours + ':'; } else { hours = intHours + ":"; } if (intMinutes == 0) { minutes = '00'; } else if (intMinutes < 10) { minutes = '0' + intMinutes; } else { minutes = intMinutes+ ":"; } if (intSeconds == 0) { seconds = '00'; } else if (intSeconds < 10) { seconds = '0' + intSeconds; } else { seconds = intSeconds; } var timeString = years + months + dates + weeks + hours + minutes+seconds document.getElementById('time').innerHTML = timeString; } </script>
单选题:
1.B
2.A
3.A
4.D
5.A
6.C
7.A
8.D
9.A
10.A
11.B
多选题:
31.ABCD
32.AC
33.BD
34.jq不考
35.BC
36.AC
37.BCD
38.不考
39.CD
40.CD
41.BD
42.
符攀飞 符攀飞
12 个月前
710

扫描下方二维码手机阅读文章

13