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实战测试题及答案解析

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

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

leta=10;

functionfoo(){

console.log(a);

leta=20;

}

foo();

A.10B.20C.undefinedD.报错

关于JavaScript中的this指向,下列说法错误的是()

A.普通函数调用时,this指向全局对象(浏览器中为window)

B.箭头函数的this指向定义时所在的作用域

C.对象方法调用时,this指向调用该方法的对象

D.使用call()方法可以改变函数的this指向,第一个参数为函数参数列表

以下代码执行后,arr的结果是()

letarr=[1,2,3];

arr.forEach(item={

if(item===2){

return;

}

item*=2;

});

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

下列关于闭包的描述,正确的是()

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

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

C.闭包的创建必须通过嵌套函数实现

D.闭包中的变量会被全局作用域共享

以下代码执行后,控制台输出顺序是()

console.log(1);

setTimeout(()={

console.log(2);

},0);

Promise.resolve().then(()={

console.log(3);

});

console.log(4);

A.1→4→3→2B.1→3→4→2C.1→4→2→3D.1→2→3→4

关于ES6中的let和const,下列说法正确的是()

A.let声明的变量可以重复声明

B.const声明的常量必须在声明时赋值,且赋值后不可修改

C.let和const声明的变量不存在变量提升

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

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

functionParent(){

this.name=parent;

}

functionChild(){

Parent.call(this);

this.age=18;

}

Child.prototype=newParent();

constchild=newChild();

console.log(childinstanceofParent);

console.log(child.name);

A.true→parentB.false→parentC.true→undefinedD.false→undefined

下列哪种方法可以实现数组去重()

A.arr.sort((a,b)=a-b)B.[...newSet(arr)]C.arr.filter((item,index)=index%2===0)D.arr.reduce((acc,cur)=acc+cur,0)

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

letobj1={a:1};

letobj2=obj1;

obj2.a=2;

console.log(obj1.a);

letobj3=Object.assign({},obj1);

obj3.a=3;

console.log(obj1.a);

A.2→3B.1→2C.2→2D.1→1

关于异步编程,下列说法错误的是()

A.Promise有三种状态:pending、fulfilled、rejected

B.async/await是Promise的语法糖,使异步代码更简洁

C.fetchAPI返回的是一个Promise对象

D.回调函数嵌套不会产生回调地狱

二、简答题(共3题,每题10分)

请解释JavaScript中的原型链是什么,以及它的作用。

请说明let、var、const三种声明变量方式的区别。

请写出两种实现深拷贝的方法(手写代码)。

三、编程题(共2题,每题15分)

实现一个函数,判断一个字符串是否是回文(正读和反读都一样,忽略大小写和非字母数字字符)。

示例:输入Madam,ImAdam→输出true;输入hello→输出false。

实现一个防抖函数(debou

文档评论(0)

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

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

1亿VIP精品文档

相关文档