小米秋招笔试题1

271 阅读1分钟

1. ​编辑

Math.pow(底数,指数)=>2的50次幂

for循环从start开始,而start= end - 100,也就是start比end小100,所以这里实际上循环了101次就返回了,而为什么是101次,因为i<=end是(小于等于)从0开始,所以循环了101次,所以++count,这个++放前后都无所谓,除非他是异步函数。

​编辑

​编辑

A方法:进行了判断,但是new的时候没有传参,所以a本身不存在name属性,会到a的隐式原型上面找name属性,就会找到XiaoMi。

B方法:没有进行判断,new的时候未传参,需要参数没有传值就是undefined,因此b本身的name属性被赋值为undefined。

​编辑

​编辑

1. callbacks里是四个一样的函数,都是输出变量i , 而不是数字,此时的i 是最终的i是4

2. js中,var i 在for循环结束后仍然存在,值为4

  1. :disabled

a:disabled 不是浏览器支持的,

4. HTML5新特性

语义化标签;

增强型表单包括属性以及元素;

新增视频和音频

canvas图形

地理定位

拖放API

SVG绘图

web worker

web storage

web socket

5. js 比较成熟的模块加载方案

CommonJs AMD CMD

第四种 Es6提出的,用Import和export来导入导出模块

AMD和CMD都是浏览器端的JS模块化规范,分别由require.js和sea.js实现

CommonJS是服务器端的js模块化规范,由NodeJS实现

6.宏任务 : setTimeout requestAnimationFrame setInterval

requestAnimationFrame属于宏任务,MutationObserver属于微任务

requestAnimationFrame() 请求动画帧

他的作用就是代替定时器做更加流畅高性能的动画,做可以匹配设备刷新率的动画,他解决了定时器做动画时间间隔不稳定的问题(也就是解决定时器做动画不流畅的问题)。他的用法与setTimeout差不多。

7

​编辑

.带有async属性的script标签,可以异步加载。不保证按顺序执行async脚本,同时也不影响DOM树的构建

src的标签的内容是可以跨域的

对不是异步执行的script代码会执行完代码才渲染页面剩余部分