JavaScript前端开发之章节课后习题及答案

第一章

  • 填空题
  1. window.document.body可以简写为__document.body____。
  2. console.log(alert('Hello'))在控制台的输出结果是__undefined____。
  3. 编辑器中“以UTF-8无BOM格式编码”中的BOM指的是__字节顺序标记____。
  4. alert('测试'.length)的输出结果是__2____。
  • 判断题
  1. JavaScript是Java语言的脚本形式。( 错 )
  2. JavaScript中的方法名不区分大小写。( 错 )
  3. JavaScript语句结束时的分号可以省略。( 对 )
  4. 通过外链式引入JavaScript时,可以省略标记。(错 )
  • 选择题
  1. 定义函数使用的关键字是(A)。

        A. function   B. func    C. var    D. new

     2.为代码添加多行注释的语法为( C )。

        A.    B. //    C. /*  */    D. #

     3.在对象的方法中访问属性name的语法为( B )。

        A. self.name    B. this.name    C. self.name()    D. this.name()

  • 编程题
  1. 利用本章知识,编写一个将用户输入的信息输出到网页的JavaScript程序。

第二章

  • 填空题
  1. Boolean(undefined)方法的运行结果等于__false____。
  2. 表达式(-5) % 3的运行结果等于___-2___。
  • 判断题
  1. JavaScript中age与Age代表不同的变量。( 对 )
  2. $name在JavaScript中是合法的变量名。( 对 )
  3. 运算符“.”可用于连接两个字符串。( 错 )
  • 选择题
  1. 下列选项中,不能作为变量名开头的是( B )。

        A. 字母 B. 数字  C. 下划线 D. $

     2.下列选项中,与0相等(==)的是( D )。

        A. null   B. undefined C. NaN      D. ''

数字和字符串有隐试转换规则:

  1. 任何非零的数为true,0为false。

  2. 字符串来说任何非空字符串为 true,空字符串为false。

    所以 0转换成布尔为false ,“”转化成布尔为false 所以结果为true

  3. 如若使用非自动隐试转换判断可以使用=== 或者 !==替代 ==和!==

     3.下列选项中,不属于比较运算符的是( D )。

        A. ==   B. ===     C. !==      D. =

  • 编程题
  1. 请编写程序求出1~100之间的素数。
  1. 有红、白、黑三种球若干个,其中红、白球共25个,白、黑球共31个,红、黑球共28个,求这三种球各有多少个?

第三章

  • 填空题
  1. 表达式“[a, b] = [12, 34, 56]”执行后,变量b的值为___34___。
  2. 表达式“[1, 2, '1', '2'].lastIndexOf('1', 1)”的返回值是___-1__。

lastIndexOf 是从末尾开始检索的,参数一是查找的数据,参数二是起始位置。此处起始位置 为 1 , 因此从 2 开始往前查找,未找到,返回 -1。

  • 判断题
  1. 被delete关键字删除的数组元素值,该元素依然占用一个空的存储位置。( 对 )
  2. 表达式“['haha', 'xixi'].splice(4, 2)”的返回值是['haha', 'xixi']。(

splice 返回的是一个数组,数组里面为删除掉的元素。此处 起始位置为4大于数组总数,因此没有数据被删除,所以返回一个空数组。

     3.表达式“Array.isArray('0')”的返回值是false。( 对 )

  • 选择题
  1. 下列语句不能用于遍历数组的是( D )。

        A.for B.for…in C.for…of D.if

     2.下列方法中,不能用于添加数组元素的是( C )。

        A. unshift() B. push() C.shift()       D. splice()

     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相等的元素,并生成一个新数组,不改变原数组。
  1. 利用indexOf()函数统计数组arr(['a','b','d','d','c','d','d'])中元素d出现的次数,并同时返回其对应的所有索引下标。

第四章

  • 填空题
  1. 函数“((a, b) => a * b)(6, 2);”的返回值是___12___。(箭头函数)
  2. JavaScript中函数的作用域分为全局作用域、___函数作用域___和块级作用域。
  3. 表达式“[12, 15, 8].find(function(ele){return ele >=10})”的返回值是___12___。

find函数返回满足回调函数的第一个元素的值,否则返回undefined

  • 判断题
  1. 函数showTime()与showtime()表示的是同一个函数。( 错 )
  2. 函数内定义的变量都是局部变量。( 错 )
  3. 匿名函数可避免全局作用域的污染。( 对 )
  • 选择题
  1. 阅读以下代码,执行fn1(4,5)的返回值是(B)。

        function fn1(x, y){

          return (++x) + (y++);

        }

        A. 9  B.10  C.11  D.12

     2.下列选项中,函数名称命名错误的是( C )。

        A. getMin   B. show      C. const      D. it_info

     3.下列选项中,可以用于获取用户传递的实际参数值的是( C )。

        A. arguments.length  B. theNums      C. params     D. arguments

        arguments,它是js中函数内置的一个对象,而执行函数方法的实参中值都存储在arguments中。

  • 编程题
  1. 编写函数实现单击change按钮,为div元素添加红色双线的边框。

第五章

  • 填空题
  1. 若var a = {}; 则console.log(a == {}); 的输出结果为___false___。
  2. 查询一个对象的构造函数使用___constructor___属性。
  • 判断题
  1. Number.MIN_VALUE表示最小的负数。( 错 )//最小正值
  2. 对象中未赋值的属性的值为undefined。( 对 )
  3. obj.name和obj['name']访问到的是同一个属性。( 对 )
  • 选择题
  1. 调用函数时,不指明对象直接调用,则this指向( B )对象。

        A. document    B. window    C. Function    D. Object

     2.通过 [].constructor访问到的构造函数是( C )。

        A.Function     B. Object     C. Array       D. undefined

     3.Math对象的原型对象是( D )。

        A. Math.prototype   B.Function.prototype   C. Object   D. Object.prototype

  • 编程题
  1. 利用String对象的属性和方法实现过滤字符串前后空格。

第七章

  • 填空题
  1. DOM中___doucument.createElement()___方法可用于创建一个元素节点。
  2. HTML DOM中的根节点是___标签___。
  • 判断题
  1. document.querySelector('div ').classList可以获取文档中所有div的class值。( 错 )
  2. 删除节点的removeChild()方法返回的是一个布尔类型值。( 错 )//返回的是标签
  3. HTML文档每个换行都是一个文本节点。(
  4. document对象的getElementsByClassName()方法和getElementsByName()方法返回的都是元素对象集合HTMLCollection。( 错 )
  • 选择题
  1. 下面可用于获取文档中全部div元素的是( B )。

        A. document.querySelector('div')   B. document.querySelectorAll('div')

        C. document.getElementsByName('div') D. 以上选项都可以

    2.下列选项中,可以作为DOM的style属性操作的样式名为( B )。

        A. Background   B. display C. background-color        D. LEFT

    3.下列选项中,可用于实现动态改变指定div中内容的是( C )。

        A.console.log()   B. document.write() C. innerHTML D. 以上选项都可以

  • 编程题
  1. 请利用HTML DOM实现全选、全不选、反选功能。

操作编号图书名称价格
1测试139.90
2测试278.90
3测试330.90

第八章

  • 填空题
  1. JavaScript为响应用户行为所执行的程序代码是指___事件处理程序___。
  2. JavaScript中通过___事件监听___可为
    的mouseover事件绑定多个事件处理程序。
  • 判断题
  1. 在事件发生时,若未设置事件处理程序的参数,就不会产生事件对象。( 错 )
  2. IE8浏览器中可通过preventDefault()方法阻止a元素的默认行为。( )//IE浏览器不支持
  3. 事件对象的type属性可以获取发生事件的类型。( 对 )
  • 选择题
  1. 下列事件中,不会发生冒泡的是( C )。

        A. click       B. mouseout   C. blur     D. keyup

     2.Chrome浏览器中,获取鼠标单击页面位置的是( B )。

        A. clientX和clientY      B. pageX和pageY

        C. screenX和screenY           D. scrollLeft和scrollTop

     3.以下选项可在IE8浏览器中获取事件对象的是( C )。

        A. document.event   B. 元素对象.event C. window.event D. 以上选项都不可以

  • 编程题
  1. 请实现鼠标选中文本,先显示一个浮动工具栏,然后在工具栏里提供“分享”按钮。
① CSS样式-


② 编写HTML
显示悬浮工具栏。
不显示悬浮工具栏
分享
④ 事件处理
  1. 请实现按ESC键关闭“打开的登录框”。
① CSS样式


② 编写HTML

注册信息 (可以拖拽) 【关闭】
③ JavaScript处理键盘按键

第九章

  • 填空题
  1. 在正则表达式中,  \b    用于匹配单词边界,  \B    用于匹配非单词边界。
  2. 正则表达式中“()”既可以用于分组,又可以用于   改变限定符的作用范围  
  • 判断题
  1. 正则表达式中,可通过反向引用获取子表达式的捕获内容。( 对 )
  2. 正则表达式“[a-z]”和“[z-a]”表达的含义相同。( 错 )
  3. 正则表达式“[^a]”的含义是匹配以a开始的字符串。( 错 )
  • 选择题
  1. 正则表达式“/[m][e]/gi”匹配字符串“programmer”的结果是( D )。

                A. m B. e C. programmer D. me

     2.下列正则表达式的字符选项中,与“*”功能相同的是( A )。

                A.{0,} B.? C. + D. .

     3.下列选项中,可以完成正则表达式中特殊字符转义的是( B )。

                A. / B. \  C. $ D. #

  • 编程题
  1. 请利用正则表达式查找4个连续的数字或字符。
// 定义正则
var reg = /[0-9]{4}|[a-z]{4}/gi;
// 测试
console.log('12abcd3456'.match(reg));
  1. 请利用正则表达式实现二代身份证号码的验证。
// 定义正则
var reg = /^\d{6}\d{4}[01]\d[0123]\d\d{3}[\d|X]$/i;
// 测试
console.log('110555199006167471'.match(reg));

第十章

  • 填空题
  1. 在发送请求时,HTTP的___Content-Type___头字段用于设置内容的编码类型。
  2. XMLHttpRequest对象的___onreadystatechange事件___属性用于感知Ajax状态的转变。
  • 判断题
  1. JSON.parse()用于将一段JSON字符串转换为对象。( 对 )
  2. XMLHttpRequest对象的send()方法用于创建一个新的HTTP请求。( 对 )
  3. XMLHttpRequest对象的abort()方法用于取消当前请求。( 对 )
  • 选择题
  1. 下面关于setRequestHeader()方法描述正确的是( B )。

        A. 用于发送请求的实体内容

        B. 用于单独指定请求的某个HTTP头

        C. 此方法必须在请求类型为POST时使用

        D. 此方法必须在open()之前调用

     2.下面关于JSON对象形式描述错误的是( B )。

        A. JSON对象是以“{”开始,以“}”结束

        B. JSON对象内部只能保存属性,不能保存方法

        C. 键与值之间使用英文冒号“:”分隔

        D. 通过“对象['属性名']”的方式获取相关数据

     3.阅读如下代码,输出结果为“李白”的选项为( A、C  )。

        var data = [{"name":"李白","age":5},{"name":"杜甫","age":6}];

        A. alert(data[0].name);

        B. alert(data.0.name);

        C. alert(data[0]['name']);

        D. alert(data.0.['name']);

  • 编程题
  1. 编写Ajax表单验证程序,判断用户名是否已经被注册。
输入用户名:


user.php
 ($_GET['username'] == $username)]);
  1. 利用Ajax跨域请求获取指定地区的天气预报信息。
weather.php

第十一章

  • 填空题
  1. jQuery显示隐藏的元素用___show()___实现。
  2. jQuery中___$.ajaxSetup()___用于设置全局Ajax默认的选项。
  • 判断题
  1. 选择器“$(':input')”仅能获取表单中的input元素标签。( 错  )
  2. jQuery中的页面加载事件可以注册多个事件处理程序。( 对 )
  3. jQuery中的hover()方法可同时处理鼠标移入与移出事件的切换。( 对 )
  • 选择题
  1. 以下选项中,可以根据包含文本匹配到指定元素的是( B )。

        A. text()       B. contains() C. input()      D. attr()

     2.下面选项中,可用来追加到指定元素的末尾的是( D )。

        A. insertAfter()   B. append()     C. appendTo()      D. after()

insertAfter(content)  把所匹配到的内容插入到content元素的尾部

append(content) 把content内容追加到匹配元素内容的尾部

appendTo() 把匹配到的内容插入到content内容的尾部

after() 把content内容插入到元素的尾部

     3.如果想要获取指定元素的位置,以下可以使用的是( A )。

        A. offset()       B. height()     C. css()      D. width()

  • 编程题
  1. 请简述JavaScript中的window.onload 事件和jQuery中的ready()方法的区别。

①  执行时机:JavaScript中window.onload必须等待网页中的所有内容加载完成后(包括外部元素,如图片)才能执行,而jQuery中的ready()网页中的所有DOM结构绘制完成后就执行(可能关联内容并未加载完成)。

② 编写个数:JavaScript中window.onload不能同时编写多个,而jQuery中的ready()能够同时编写多个。

③ 简化写法:jQuery中的ready()可以简写为$()。

  1. 请利用jQuery实现用户登录框的拖拽功能。
① CSS样式


② 编写HTML
注册信息 (可以拖拽) 【关闭】
③ 处理拖拽事件

第十二章

  • 填空题
  1. jQuery中___:checked___可以获取复选框的所有选中值。
  2. 在jQuery中event对象的___which___属性可获取键盘按键值。
  • 判断题
  1. jQuery是对JavaScript封装的函数库。( 对 )
  2. 变量aa = bb = 0,则aa变为3后,bb也等于3。( 错 )
  3. JSON是独立于语言的数据交换格式。( 对 )
  4. “{}”可用于在JavaScript中创建对象。( 对 )
  5. 变量创建后,可以在任意位置使用。( 错 )
  • 选择题
  1. 循环语句for (var i=0; i = 1; i++) { } 的循环次数是( D )。

                A. 0 B.1   C.2 D.无限

     2.下列选项中,不属于jQuery选择器的是( C )。

                A. 元素选择器  B. 属性选择器   C. CSS选择器   D. 分组选择器

     3.下列选项中,( C )可用来切换元素的可见状态。

                A. show()      B. hide()   C. toggle()  D. slideToggle()

你可能感兴趣的:(JavaScript,javascript,期末复习)