JavaScript 实战测试题及答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

JavaScript实战测试题及答案

一、选择题(每题5分,共30分)

下列关于变量声明的说法,错误的是()

A.let声明的变量具有块级作用域

B.var声明的变量会提升到作用域顶部

C.const声明的变量必须立即赋值,且不可修改引用

D.const声明的对象,其属性也不允许修改

执行以下代码,控制台输出结果是()

functionfn(){

leta=1;

functioninner(){

console.log(a);

leta=2;

}

inner();

}

fn();

A.1B.2C.undefinedD.报错

关于JavaScript异步编程,下列说法正确的是()

A.setTimeout的回调函数一定会在指定时间后立即执行

B.Promise的reject方法必须通过try/catch捕获错误

C.async/await是Promise的语法糖,能简化异步代码

D.多个await语句会并行执行,提高效率

下列关于DOM操作的代码,能正确给所有class=btn的元素绑定点击事件的是()

A.

document.querySelectorAll(.btn).forEach(btn={

btn.onclick=function(){

console.log(点击了按钮);

}

});

B.

document.getElementByClassName(btn).addEventListener(click,function(){

console.log(点击了按钮);

});

C.

document.querySelector(.btn).onclick=function(){

console.log(点击了按钮);

};

D.

document.getElementsByTagName(.btn).forEach(btn={

btn.addEventListener(click,function(){

console.log(点击了按钮);

});

});

执行以下代码,控制台输出结果是()

letarr=[1,2,3];

letnewArr=arr.map(item=item*2).filter(item=item3);

console.log(newArr);

A.[2,4,6]B.[4,6]C.[2,4]D.[1,2,3]

关于闭包的说法,正确的是()

A.闭包会导致内存泄漏,应尽量避免使用

B.闭包可以访问外层函数的变量,即使外层函数已执行完毕

C.闭包的作用域链是单向的,只能从内向外查找变量

D.每个函数都是闭包,无论是否嵌套

二、编程题(每题15分,共60分)

编写一个函数formatTime,将时间戳(毫秒)转换为YYYY-MM-DDHH:MM:SS格式的字符串(例如:1620000000000→2021-05-0300:00:00)。

编写一个函数debounce,实现防抖功能(触发事件后延迟n毫秒执行回调,如果n毫秒内再次触发,则重新计时)。要求:

支持立即执行(首次触发时立即执行,之后防抖)

支持取消防抖(提供cancel方法)

有一个数组users,格式如下:

constusers=[

{id:1,name:张三,age:20,gender:男},

{id:2,name:李四,age:25,gender:女},

{id:3,name:王五,age:20,gender:男},

{id:4,name:赵六,age:30,gender:女},

{id:5,name:孙七,age:25,gender:男}

];

请编写代码,按gender分组,统计每组的平均年龄,结果格式如下:

{

男:21.67,//(20+20+25)/3≈21.67

女:27.5//(25+30)/2=27.5

}

编写一个函数deepClone,实现深拷贝(复制对象/数组,包括嵌套的对象和数组,避免引用问题),要求支持基本类型、对象、数组、日期对象、正则对象。

三、简答题(10分)

请简述JavaScript中this关键字的指向规则,结合具体场景举例说明(至少3种场景)。

答案及解析

一、选择题

答案:D

解析:con

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档