选择题

1.关于localStorage、sessionStorage 与 cookie,正确的描述有:

A.sessionStorage 会随 HTTP 请求发送,localstorage 则不会。
B.无论是子域还是主域,localstorage和 sessionStorage 都不支持跨域访问。
C.localstorage、sessionStorage 和 Cookie 都只能以字符串的形式存储数据
D.localstorage 不支持设置过期时间,Cookie 支持设置过期时间。

2.跟HTTP缓存有关的HTTP头有

A.Cache-Control
B.User-Agent
C.Referer
D.ETag

3.关于Vue.js 2x,正确的描述有

A. 响应式数据是通过 ES6的 Proxy 来实现的。
B.在组件生命周期中的 created 阶段可以访问该组件的 data。
C.在组件生命周期中的 created 阶段可以访问该组件的 DOM 元素。
D.在 v-for 循环中,把 :key 设为数组下标是比较好的做法。

4.如果把元索的样式设为width: 100px; padding: 10px; border: px solid; box-sizing: border-box;”,正确的描述有:

A. 元素内容区的实际宽度是 78px
B.元素内容区的实际宽度是 80px
C.元素内容区的实际宽度是 100px
D.元素内容区的实际宽度是 98px

5.关于Vue-Router的模式(hash、history),正确的描述有:

A.两种模式都可以实现同一项目内的无刷新页面跳转
B.history 模式比 hash 模式具备更好的浏览器兼容性。
C.history 模式需要在服务器进行相应配置,否则刷新页面后会出现找不到页面的情况。
D.浏览器的后退、前进功能在 hash 模式下无法使用。

6.关于箭头函数与普通函数,正确的描述有

A.箭头函数不能有返回值。
B.箭头函数没有自己的 this。
C.不能对箭头函数进行 new 操作。

7.假设上下文为“letarr =[1]”,结果肯定为 true 的表达式有

A.arr.__ proto__ === Array.prototype
B.arr.length === Array.prototype.length
C.typeof Array.prototype.  proto_ ==='function
D.arr.push === Array.prototype.push

8.关于跨域访问,正确的描述有:

A.在HTTP 协议的贞面中访问相同域名的 HTTPS 资源,不算跨域。
B.如果把某个 URI 的 HTTP 响应头中的 Access-Control-Allow-Origin 设为 abc,com,则 abc.com的任何二级域名下的页面都能正常地通过 XMLHttpRequest 对该 URI 进行访问。
C.浏览器允许通过 img 和 script 标签跨域请求资源
D.在 HTTPS 协议的页面中访问域名相同、端口号不同的资源,不算跨域。

9.关于 var、let 和 const,正确的描述有

A.var 可以声明块级作用域的变量
B.在同一作用域内,不能使用 const 声明同名变量。
C.使用 const 声明的对象,其属性也是不可修改的
D.在同一作用域内,不能使用let 声明同名变量

10.以下哪些样式属性的值被修改后,肯定不会引起重排

A.margin
B.color
C.visibility
D.padding

编程题

请实现信号灯控制类 TrafficLightController,要求:

  • 调用该类的 start()方法后,信号灯以绿灯30s、黄灯3s、红灯 20s 往复切换
  • 调用该类的 changeDuration(color,duration)方法后,可修改各种颜色的持续时长,修改在下一次切- 换该颜色时生效
  • 调用该类的stop()方法后,信号灯切换停止,且停留在当前状态。
  • 在控制台打印信号灯状态即可,不需要实现界面。
  • 可以使用 Promise、async、await。

请通过媒体查询实现:

  • 当浏览器视口宽度小于600px 时,div.main 的宽度为视口宽度
  • 当浏览器视口宽度大于等于600px 且小于 1024 px 时,dimain 与视口左右两边保留30px 边距,其宽度为视口宽度减去两边边距。
  • 当浏览器视口宽度大于等于 1024px 时,div.main 的宽度为 960px,且在视口内居中。