JavaScript复习题中等及答案_第1页
JavaScript复习题中等及答案_第2页
JavaScript复习题中等及答案_第3页
JavaScript复习题中等及答案_第4页
JavaScript复习题中等及答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaScript复习题中等及答案总分:100分考试时间:90分钟姓名:__________得分:__________一、单项选择题(共30小题,每小题1分,满分30分)1.下列关于JavaScript变量声明的说法,错误的是()A.var声明的变量存在变量提升B.let声明的变量块级作用域C.const声明的变量可修改值D.let不能重复声明同一变量2.下列哪种方法可以获取数组的长度()A.length()B.size()C.lengthD.size3.JavaScript中,下列哪种不是基本数据类型()A.StringB.NumberC.ObjectD.Boolean4.下列关于函数声明和函数表达式的区别,说法正确的是()A.函数表达式不存在变量提升B.函数声明不能在块级作用域中使用C.两者没有区别D.函数表达式必须用var声明5.要实现点击按钮触发函数执行,下列HTML代码正确的是()A.<buttononclick="fn()">点击</button>B.<buttonclick="fn()">点击</button>C.<buttononlick="fn()">点击</button>D.<buttononclick=fn()>点击</button>6.JavaScript中,数组方法filter()的作用是()A.遍历数组并修改元素B.过滤出符合条件的元素,返回新数组C.对数组元素排序D.向数组末尾添加元素7.下列关于this关键字的说法,错误的是()A.普通函数中this指向windowB.对象方法中this指向当前对象C.箭头函数中this指向自身D.构造函数中this指向实例对象8.要将字符串"123"转换为数字类型,下列方法错误的是()A.Number("123")B.parseInt("123")C.parseFloat("123")D.String("123")9.JavaScript中,下列哪种循环不能遍历数组()A.for循环B.while循环C.do...while循环D.switch循环10.下列关于事件冒泡的说法,正确的是()A.事件冒泡是从子元素向父元素传播B.事件冒泡是从父元素向子元素传播C.事件冒泡不能阻止D.所有事件都有冒泡特性11.数组方法forEach()的参数是()A.一个回调函数B.数组索引C.数组元素D.数组长度12.下列关于闭包的说法,错误的是()A.闭包可以访问外层函数的变量B.闭包会导致内存泄漏C.闭包就是嵌套函数D.闭包可以延长变量的生命周期13.要判断一个变量是否为数组,下列方法正确的是()A.typeofarr==="array"B.arrinstanceofArrayC.arr===ArrayD.typeofarr==="object"14.JavaScript中,字符串方法indexOf()的作用是()A.查找字符串中指定字符的位置B.替换字符串中的指定字符C.截取字符串D.将字符串转换为小写15.下列关于构造函数的说法,正确的是()A.构造函数必须用new关键字调用B.构造函数不能有参数C.构造函数的返回值一定是实例对象D.构造函数名称必须小写16.要阻止事件冒泡,下列方法正确的是()A.event.stopPropagation()B.event.preventDefault()C.event.stopBubble()D.event.cancel()17.数组方法map()的作用是()A.过滤数组元素B.遍历数组并返回新数组,新数组元素由回调函数返回值决定C.查找数组中的指定元素D.删除数组中的指定元素18.下列关于箭头函数的说法,错误的是()A.箭头函数没有自己的thisB.箭头函数不能作为构造函数C.箭头函数可以使用arguments对象D.箭头函数语法更简洁19.要将数字123转换为字符串类型,下列方法错误的是()A.String(123)B.123.toString()C.123+""D.Number.toString(123)20.JavaScript中,下列哪种不是事件绑定方式()A.内联事件绑定B.事件监听绑定C.函数调用绑定D.标签绑定21.下列关于对象的说法,错误的是()A.对象由属性和方法组成B.可以用字面量方式创建对象C.对象的属性只能是基本数据类型D.可以用delete删除对象的属性22.数组方法find()的作用是()A.查找数组中第一个符合条件的元素B.查找数组中所有符合条件的元素C.查找数组的索引D.查找数组的长度23.下列关于原型链的说法,正确的是()A.原型链是实现继承的一种方式B.所有对象的原型都是nullC.原型链不能向上查找属性D.构造函数的原型不能修改24.字符串方法slice()和substring()的区别是()A.slice()不支持负数参数,substring()支持B.substring()不支持负数参数,slice()支持C.两者没有区别D.slice()截取长度固定,substring()不固定25.下列关于异步编程的说法,错误的是()A.setTimeout是异步操作B.异步操作不会阻塞代码执行C.异步操作的结果会立即返回D.Promise可以处理异步操作26.要清空一个数组arr,下列方法错误的是()A.arr=[]B.arr.length=0C.arr.splice(0,arr.length)D.arr.clear()27.下列关于Promise的说法,正确的是()A.Promise有三种状态:pending、fulfilled、rejectedB.Promise的状态可以随意修改C.Promise的then方法只能调用一次D.Promise是同步操作28.JavaScript中,typeof运算符返回值不包括()A.stringB.numberC.arrayD.object29.下列关于事件委托的说法,正确的是()A.事件委托是将事件绑定在子元素上B.事件委托利用了事件冒泡特性C.事件委托不能提高性能D.事件委托只能用于点击事件30.数组方法reduce()的作用是()A.遍历数组并累加计算,返回最终结果B.过滤数组元素C.对数组元素排序D.向数组开头添加元素二、多项选择题(共15小题,每小题2分,满分30分,多选、少选、错选均不得分)1.JavaScript中,基本数据类型包括()A.StringB.NumberC.BooleanD.Undefined2.下列关于变量提升的说法,正确的有()A.var声明的变量会提升到作用域顶部B.let声明的变量不会提升C.函数声明会提升,函数表达式不会D.变量提升后会直接赋值3.数组的常用遍历方法包括()A.forEach()B.map()C.filter()D.reduce()4.下列关于this关键字的指向,正确的有()A.普通函数调用时,this指向windowB.对象方法调用时,this指向该对象C.构造函数new调用时,this指向实例D.箭头函数中,this指向外层作用域的this5.字符串的常用方法包括()A.indexOf()B.slice()C.replace()D.toUpperCase()6.下列关于闭包的特性,正确的有()A.可以访问外层函数的变量B.可以延长变量的生命周期C.可能导致内存泄漏D.嵌套函数一定是闭包7.事件绑定的常用方式包括()A.内联事件绑定(onclick等)B.事件监听(addEventListener)C.动态绑定(DOM元素.onclick=函数)D.标签绑定8.下列关于Promise的方法,正确的有()A.then()B.catch()C.finally()D.resolve()9.下列关于对象的创建方式,正确的有()A.字面量方式({})B.构造函数方式(newObject())C.工厂模式D.原型模式10.下列关于数组的方法,属于修改原数组的有()A.push()B.pop()C.splice()D.sort()11.下列关于异步编程的实现方式,正确的有()A.回调函数B.PromiseC.async/awaitD.setTimeout12.下列关于类型转换的说法,正确的有()A.String(123)可以将数字转为字符串B.Number("123")可以将字符串转为数字C.Boolean(0)返回falseD.Boolean("")返回true13.下列关于原型链的特性,正确的有()A.所有对象都有原型B.原型链的顶端是nullC.对象可以通过原型链继承属性和方法D.构造函数的prototype属性是实例的原型14.下列关于事件冒泡的说法,正确的有()A.事件冒泡是从触发事件的子元素向父元素传播B.可以通过stopPropagation()阻止冒泡C.所有事件都支持冒泡D.事件冒泡可以提高代码复用性15.下列关于async/await的说法,正确的有()A.async函数返回的是一个Promise对象B.await只能在async函数中使用C.await可以等待Promise对象的结果D.async/await可以简化异步代码三、判断题(共20小题,每小题1分,满分20分,对的打“√”,错的打“×”)1.var声明的变量和let声明的变量没有区别。()2.JavaScript中的数组可以存储不同类型的数据。()3.typeof运算符可以准确判断变量是否为数组。()4.箭头函数有自己的this关键字。()5.闭包可以访问外层函数的变量,即使外层函数已经执行完毕。()6.数组方法map()会修改原数组。()7.Promise的状态一旦改变,就不能再修改。()8.事件冒泡是从父元素向子元素传播的。()9.构造函数必须用new关键字调用,否则this指向window。()10.字符串是不可变的,修改字符串会创建新的字符串。()11.async/await是Promise的语法糖,简化了异步代码的编写。()12.可以用delete关键字删除数组的元素,删除后数组长度不变。()13.原型链的顶端是Ototype。()14.事件委托是将事件绑定在父元素上,利用冒泡特性触发子元素事件。()15.Number("abc")会返回NaN,NaN和任何值比较都返回false。()16.函数表达式可以先调用后声明。()17.对象的属性可以是函数,这种函数称为对象的方法。()18.setTimeout的回调函数会立即执行。()19.数组方法forEach()可以中断遍历。()20.const声明的变量,其引用的对象不能修改属性。()四、简答题(共4小题,每小题5分,满分20分)1.简述var、let、const三者的区别。________________________________________________________________________________________________2.简述闭包的概念及实际应用场景。________________________________________________________________________________________________3.简述Promise的三种状态及状态转换规则。________________________________________________________________________________________________4.简述事件委托的原理及优点。________________________________________________________________________________________________参考答案一、单项选择题(每小题1分,满分30分)1.C2.C3.C4.A5.A6.B7.C8.D9.D10.A11.A12.C13.B14.A15.A16.A17.B18.C19.D20.D21.C22.A23.A24.B25.C26.D27.A28.C29.B30.A二、多项选择题(每小题2分,满分30分)1.ABCD2.ABC3.ABCD4.ABCD5.ABCD6.ABC7.ABC8.ABC9.ABCD10.ABCD11.ABCD12.ABC13.ABCD14.ABD15.ABCD三、判断题(每小题1分,满分20分)1.×2.√3.×4.×5.√6.×7.√8.×9.√10.√11.√12.√13.×14.√15.√16.×17.√18.×19.×20.×四、简答题(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论