js复习总结(二)

107 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 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 天,点击查看活动详情