开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 4 天,点击查看活动详情
书接上文,接着复习JS
15.setTimeout最小执行时间是多少?
HTML5规定的内容
setTimeout最小执行时间是4mssetInterval最小执行时间是1ems
16.ES6的新特性有哪些?
- 1.新增块级作用域( let, const)
- 2.新增了定义类的语法糖(class)
- 3.新增了一种基本数据类型(symbol)
- 4.新增了解构赋值
- 5.新增了函数参数的默认值
- 6.给数组新增了API
- 7.对象和数组新增了扩展运算符
- 8.Promise
- 9.新增了模块化(import,export)
- 10.新增了set和map数据结构
- 11.新增了generator
- 12.新增了箭头函数I
17.call,aply ,bind三者有什么区别?
都是改变this指向和函数的调用,call和apply的功能类似,只是传参的方法不同call方法传的是一个参数列表
apply传递的是一个数组
bind传参后不会立刻执行,会返回一个改变了this指向的函数,这个函数还是可以传参的,bind()()
call方法的性能要比apply好一些,所以call用的更多一点
18.用递归的时候有没有遇到什么问题?
如果一个函数内可以调用函数本身,那么这个就是递归函数函数内部调用自己
特别注意:写递归必须要有退出条件returnl
19.说一下事件循环。
Js是一个单线程的脚本语言
主线程 执行栈 任务队列 宏任务 微任务
主线程先执行同步任务,然后才去执行任务队列里的任务,如果在执行宏任务之前有微任务,那么要先执行微任务
全部执行完之后等待主线程的调用,调用完之后再去任务队列中查看是否有异步任务,这样一个循环往复的过程就是事件循环!
20.ajax是什么?怎么实现的?
是创建交互式网页应用的网页开发技术,在不重新加载整个网页的前提下,与服务器交换数据并更新部分内容
通过xm1HttpRequest对象向服务器发送异步请求,然后从服务器拿到数据,最后通过Js操作DoM更新页面
- 1.创建xmlHttpRequest对象 xmh
- 2.通过xmh对象里的open()方法和服务器建立连接
- 3.构建请求所需的数据,并通过xmh对象的send()发送给服务器
- 4.通过xmh对象的onreadystate chansge事件监听服务器和你的通信状态
- 5.接收并处理服务器响应的数据结果
- 6.把处理的数据更新到HTML页面上
21.get和post有什么区别?
- 1.get一般是获取数据,post一般是提交数据
- 2.get参数会放在url上,所以安全性比较差,post是放在body中
- 3.get请求刷新服务器或退回是没有影响的,post请求退回时会重新提交数据
- 4.get请求时会被缓存,post请求不会被缓存
- 5.get请求会被保存在浏览器历史记录中, post不会
- 6.get请求只能进行url编码,post请求支持很多种
未完待续……
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 4 天,点击查看活动详情