鲤鱼IT编程教育——WEB全栈工程师许昌学院集训营毕业考试

  • 格式:docx
  • 大小:722.18 KB
  • 文档页数:17

鲤鱼教育WEB全栈工程师集训营三期班结课测试一:不定项选择题每题2分1.以下对于h标签说法正确的是(C)A:改变内容的样式B:给字体加粗C:赋予内容标题语义,具有强调作用D:给内容换行解析:1.标题标签是用来给文字添加标题语义的,而不是改变文字的样式的扩展:1.用正确的标签做正确的事情,让页面的内容结构化,便于对浏览器、搜索引擎解析2.搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于SEO3.使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

4.html不是用来显示样式的,默认样式是在没有CSS情况下也以一种文档格式显示,并且是容易阅读的2.以下对DOCTYPE 描述正确的是(A B)A:DOCTYPE 是文档类型声明,告诉浏览器用什么版本的HTML标准规范来解析渲染页面B:声明必须是HTML 文档的第一行C:浏览器完全依赖于这个声明,所以必须写这个声明解析:浏览器并不是完全依赖于这个声明, 浏览器有一套自己的默认的处理机制,即在没有写文档声明时浏览器会模拟更旧的浏览器的行为来渲染页面3.下面选项,能够触发BFC的是(ABCD)A:float的值不为noneB:overflow的值不为visibleC:display的值为table-cell、tabble-caption和inline-block之一D:position的值不为static或则releative中的任何一个4.在HTML中,设置根元素的字体大小为32px,p标签字体大小为font-size:2rem,问p标签的字体大小应为多少个像素(D)A:2px B:16px C:32px D:64px解析:1.rem是以html根元素中font-size的大小为基准的相对度量单位,一个rem就是根元素的字体大小的一倍2.可以用js来根据屏幕的宽度来设置根元素中font-size,也可以用媒体查询5.让一个元素的过渡效果延迟2s执行,则给其添加(B D)属性A:transtion-propertyB:transition-delayC:transition-durationD:transition6.分析以下代码,输出结果是(A)A:20 B:99 C:undefined D:报错<script type="text/javascript">function t1(){var age=20;function t2(){alert(age)};return t2;};var temp=t1();var age=99;temp();</script>解析:t1的执行结果是返回了一个函数t2,也就是说temp=t2,就是一个函数,注意点是,函数执行时依赖于变量的作用域,这个作用域是在定义的时候决定的,而不时在调用的时候决定,也就是说t2中的age的值其实拿到的时在定义t2时age的值7.以下代码输出结果是(A)<script type="text/javascript">var a={name:"tom",age:"18"};var b=a;b.sex="male";console.log(a.sex);console.log(b.sex);</script>A:male male B:undefined maleC:undefined undefined D:male undefined解析:引用类型的数据复制时,复制的事地址(指针),最终指向的是同一个对象,所以,在这里给b动态添加的属性,a也能够拿到8.下列代码的输出结果是什么(C)<script>var foo = ‘12’+2-’1’;console.log(foo);</script>A:1221 B:13 C:121 D:undefined解析:+号在这里表示字符串的拼接,其他数据类型只要和字符串进行拼接,最终都会得到一个字符串,‘12’+2 = ‘122’,字符串’122’-‘1’,减号在这里表示隐士转换,想要进行相减,则必须是数字,122-1=1219.分析以下代码的执行结果(A)A:undefined 1 B:null nullC::2 1 D:1 1<script>var a=2;function test(){//var a;console.log(a);var a=1;function test2(){console.log(a)}test2();}test();</script>解析:1.声明的提升,test函数定义的变量a(var a=1)的声明会被提升到test函数的顶部,所以第一个输出是undefined2.作用域链,子函数会沿着作用域链向上查找变量,所以test2中会访问到test中定义的变量a10.分析以下代码,输出结果是(A)A:T om B:Leo C:undefined D:null<script type="text/javascript">var name = "T om";var object = {name : "Leo",getName : function(){return function(){return ;};}};console.log(object.getName()());</script>解析:1.object.getName()执行函数会返回一个函数,这个函数在调用时是属于window对象,那么函数中的this指向window,所以函数中的指的是11.有一个数组arr=[1,3,4,7,9,10],使用以下哪种方法可以返回一个新的数组(BC)A:arr.forEach(function(value,index){return value})B:arr.map(function(value,index){return value*2})C:arr.filter(function(value,index){return value>4})D:arr.some(function(value,index){return value>2})解析:A:可以遍历数组但不会返回新数组;B:和C都可以返回新数组;D:返回boolean12.在用CORS解决跨域问题中的简单请求过程中,以下哪些个请求头是必须设置的(A)A:res.setHeader("Access-Control-Allow-Origin",”*”)B:res.setHeader("Access-Control-Allow-Credentials",true)C:res.setHeader("Access-Control-Expose-Headers",”kuazhu”) D:res.setHeader("Access-Control-Allow-Methods",”put”)解析:1.ABC都是解决简单请求跨域问题请求头的设置,但是BC为可选设置,A必须设置;2.Access-Control-Allow-Origin设置允许访问的源3.Access-Control-Allow-Credentials表示是否允许发送Cookie4.Access-Control-Expose-Headers表示允许客户端通过getResponseHeader方法获取的字段5.Access-Control-Allow-Methods选项是处理复杂请求时允许的请求方法13.以下属于异步任务的有(ACD)A:setTimeout() B:var a=0;C:oDom.onclick=function(){} D:setInterval()解析:JavaScript中的常见异步任务:Ajax、DOM事件、定时器14.分析以下代码,当页面加载完毕后,点击‘点我’时,输出结果是(D)<div id=”box”>点我</div><script>var oBox=document.getElementById(‘box’);for(var i=0;i<4;i++){oBox.onclick=function(){console.log(i);}}</script>A:0 B:1 C:3 D:4解析:因为for循环是同步任务,点击事件是异步任务,所以,当点击按钮时,i值为退出循环时的值,是415.下面关于箭头函数与普通函数的说法,错误的是(D)A:箭头函数没有原型对象,所以不能用箭头函数来定义构造函数B:箭头函数中没有argumentsC:箭头函数没有函数声明的提升D:箭头函数的this一直是window解析:箭头函数的this是在定义时确定的,即定义时函数属于谁,函数体中的this就指向谁,并非只能属于window16.关于Promise,以下说法正确的是(ABC)A:Promise将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数B:Promise有三种状态pending,fulfilled,rejectedC:只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态,并且状态一旦发生改变的话,就不会再次改变D:Promise的三种状态之间可以相互切换,但只能切换一次解析:Promise对象的状态改变,只有两种可能从pending变为fulfilled 从pending变为rejected17.关于Generator 函数的说法,以下说法正确的是(ABD)A:Generator 函数在定义时,名字与关键字function之间有一个星号B:Generator 函数调用后,函数并不执行,而是返回了一个遍历器对象C:需要调用Generator 函数的next方法,函数才会执行D:next方法的作用是分阶段执行Generator函数。

解析:next方法,是Generator 函数调用后,返回的遍历器对象上的方法18.在代码解析过程中,遇到这样一行代码表示什么(B)async function fn(){...}A:这是一个异步处理B:这个函数里有异步处理C:错误的语法D:延缓执行这个函数19.这段代码的执行结果是(C)A:Promise 对象B:undefinedC:{name:”tom”,age:18} D:awaitasync function fn(){return await {name:"tom",age:18}}var a = fn()a.then(data=>{console.log(data)})解析:async函数内部return语句返回的值,会成为then方法回调函数的参数。