企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 一、不定项选择题(每题3分,共30分) ### 1. 在HTML中,Location对象的 ( A ) 属性用于设置或检索URL的端口号。 A. host B. hostname C. pathname D. href ### 2. 关于正则表达式声明6位数字的邮编,以下代码正确的是( C ) A .var reg = /\d{6}/; B .var reg = \d{6}\; C. var reg = /^\d{6}/; D. var reg = new RegExp("\d{6}"); ### 3. 下列哪个操作是W3C标准定义的阻止事件向父容器传递:( C ) A . e.preventDefault() B. e.cancelBubble=true C. e.stopPropagation() D. e.stopImmediatePropagation() ### 4. 以下关于盒子模型描述正确的是:( A ) A. 标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + 左右padding + width B. IE盒子模型中:盒子总宽度 = 左右margin + 左右border + width C. 标准盒子模型中:盒子的总宽度 = 左右margin + 左右border + width D. IE盒子模型中:盒子总宽度 = width ### 5. 使用CSS的flexbox布局,不能实现以下哪一个效果 ( D ) A . 三列布局,随容器宽度等宽弹性伸缩 B. 多列布局,每列的高度按内容最高的一列等高 C. 三列布局,左列宽度像素数确定,中、右列随容器宽度等宽弹性伸缩 D. 多个宽高不等的元素,实现无缝瀑布流布局 ### 6. 关于HTTP协议,下面哪个说法是正确的? ( B ) A. 一个HTTP请求返回的HTTP状态码中,304表示临时重定向。 B. RESTful 接口中,利用HTTP协议的method字段来描述要对资源操作的方式,比如GET表示获取资源,POST表示新增一个资源,PUT表示更新资源,DELETE 表示删除资源等等。 C. 以下是一个Http链接的response 的响应头: GET /xxx/xxx/js/lib/test.js HTTP/1.1 Host: 127.0.0.1 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Accept: */* D. HTTP协议是有状态协议。 ### 7. 以下代码控制台输出的结果是什么? ( C ) > const promise = new Promise((resolve, reject) => { > > ​ console.log(1); > > ​ resolve(); > > ​ console.log(2); > > }) > > promise.then(() => { console.log(3); }) > > setTimeout(()=> console.log(4),0) > > console.log(5); A. 5 1 2 3 4 B. 1 2 3 4 5 C. 1 2 5 3 4 D. 5 1 2 4 3 ### 8. 下列关于call与apply描述正确的有:( ABCD ) A. call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性. B. 已知变量foo,那么foo.call(this, arg1,arg2,arg3) == foo.apply(this, arguments) == this.foo(arg1, arg2, arg3); C. 两个方法产生的作用是完全一样的; D. call只能单个参数传入,apply可以通过数组的方式传入参数 ### 9. 以下属于vue指令的有:( ABC ) A. v-if B. v-model C. v-bind:class D. v-focus ### 10. 下列关于vuex说法找那个错误的是:(D) A. state中保存着共有数据 B. 改变state中的数据只能通过mutations中的方法,且mutations中的方法必须是同步的 C. actions中的异步方法需要通过commit到mutations中通过state修改 D. 以上都不正确 ## 二、问答题(每题5分,共40分) ### 1. JS的基本数据类型有哪些? ### 2. 如何用CSS创建一个三角形? ### 3. 元素水平垂直居中的方法有哪些? ### 4. 数组去重的方法有哪些?(至少两种方法) ### 5. 给定数组[1,3,5,7,8,12],找出数组中最大的值? ### 6. 实现如下语法的功能:var a = add(2)('3')(4)(5); // 14 ### 7. 实现如下语法的功能:var a = (10).plus(2).minus(8); //4 ### 8. 判断变量a是数组的方法有哪些? ## 三、编程题(每题15分,共30分) ### 1. 实现一个打点计时器,要求: 1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1 2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作 3、第一个数需要立即输出 4、支持promise调用 > function count(start, end) { > > // TODO > > } ### 2. 已知 fn 为一个预定义函数,实现函数 curryIt,调用之后满足如下条件: 1、返回一个函数 a,a 的 length 属性值为 1(即显式声明 a 接收一个参数) 2、调用 a 之后,返回一个函数 b, b 的 length 属性值为 1 3、调用 b 之后,返回一个函数 c, c 的 length 属性值为 1 4、调用 c 之后,返回的结果与调用 fn 的返回值一致 5、fn 的参数依次为函数 a, b, c 的调用参数 例如: > var fn = function (a, b, c) {return a + b + c}; curryIt(fn)(1)(2)(3); > // 6 function curryIt(fn) { }