当前位置: 首页 > news >正文

保定市网站建设公司下载登录微信

保定市网站建设公司,下载登录微信,南昌模板建站公司,网站建设新报价图片欣赏背景 看了很多面试题及其答案。但是过于标准化#xff0c;一般不能直接用于回复面试官#xff0c;这里我将总结一系列面试题#xff0c;用于自我复习也乐于分享给大家#xff0c;欢迎大家提供建议#xff0c;我必不断完善之。 Javascript ES6 1. var let const 的区别…背景 看了很多面试题及其答案。但是过于标准化一般不能直接用于回复面试官这里我将总结一系列面试题用于自我复习也乐于分享给大家欢迎大家提供建议我必不断完善之。 Javascript ES6 1. var let const 的区别 它们均是变量声明的关键字其中let const是ES6新增关键字。引入这两个关键字的原因在于var没有块级作用域所导致变量滥用的问题。 var自带变量提升js编译的时候会将所有用var声明的变量语句提升到整个作用域首位所以在原有声明前引用该变量不会报错。而let const在变量声明前引用则会报错原因即此二者无法变量提升导致存在暂时性死区即从当前作用域的首部开始到变量声明前的上下文无法引用该变量var 滥用原因还有可以多次声明同一标识符这是let const无法做到的。并且由于var 没有块级作用域用var声明了一个标识符后 在其块级作用域后又重新声明一次则会导致原值被替换为新值。但是var是拥有函数作用域的所以在函数中重新声明该标识符在函数作用域外的值则不会被替换但是如果没用var声明而只是赋值则会被替换。let 和 var的值是可以修改的const 声明的变量对应的地址中的值是不能修改但是如果当期变量是对象的话其声明变量的地址中的值是一个指针指向堆中的值此时我们可以修改堆中的值即const变量修改对象的属性是生效的根据最佳实践来说尽量能用const就不用let能用let就不用var 2. Promise 是什么为什么要使用Promise它的原理是什么 Promise 名为期约是 ES6新引入的一种JavaScript异步解决方案。它用于解决ES6之前连续多次异步操作时传统异步编程的多层回调嵌套的问题俗称回调地狱。通过连续的then或catch的链式调用降低了编码的难度同时又增加了代码的可读性。 // ES6以前的异步编程 doFirstThing(data,function (err1, data1) {if(err1) {...return}doSecondThing(data1, function (err2, data2){if(err2) {...return}doThrdThing(data2, function (err3, data3) {if(err3){...return}...})}) })// Promise异步编程 doFirstThing(data).then((data) doSecondThing(data)).then((data) doThirdThing(data)).catch((err) {}).finally(() {...})基本用法 Promise是一个对象它有三种状态。即 Pending (进行中Fulfilled (已完成的, 即成功状态) Rejected (已拒绝的即失败状态) 当我们生成一个Promise的时候 状态只能有一种改变即从Pending- Fulfilled或从Pending-Rejected。此三者是在其构造函数中进行处理当我们 new 一个 Promise的时候需要传入一个函数, 拥有 resolve和 reject方法通过调用resolve(data) 表示成功处理数据状态转到链式流程中的then方法中进行后续处理 通过调用reject(err)表示处理期约失败的数据状态最后还有一个finnally执行的回调不管处理成功还是失败都会执行此回调。但其实then也能处理失败的回调用于局部错误处理。通过then 使用第二个回调函数的参数即代表失败拒绝状态回调 new Promise((resolve, reject) {...resolve(data)...reject(err) }).then((data) { ... }, (err) { ... }).catch((err) {})但一般我们使用catch来全局处理err这样语义化分工更易于理解并且不需要每次then中使用第二个参数控制err更加方便处理。 静态方法 另外 Promise作为构造函数包含以下6种静态方法 Promise.resolve Promise.reject Promise.all Promise.allSettled Promise.race Promise.anya. 其中Promise.resolve和Promise.reject返回的分别是成功和失败的Promise对象等价于前文new Promise((resolve, reject) {}) 分别调用resolve和reject函数 b. Promise.all([promise1, promise2, promise3]) 并行执行多个Promise, 当所有promise处理成功时即返回一个处理结果数组依次为传入promise数组的处理结果。当某个Promise拒绝时直接返回拒绝状态的err。 c. Promise.allSettled([promise1, promise2, promise3]) 格式与all类似但它会等待所有promise返回结果最后生成一个对象 //成功 { status: fulfilled, value: results }//失败 { status: rejected, reason: err } d. Promise.race([promise1, promise2, promise3]) 为Promise竞速 返回第一个完成的promise无论成功还是失败。 e. Promise.any([promise1, promise2, promise3]) 类似于Promise.race但是它是返回的第一个已经成功的promise实例如果全部失败则会报错
http://www.yingshimen.cn/news/25527/

相关文章:

  • 正规品牌网站设计地址中国营销型网站有哪些
  • 山西省建设工程信息网站国内企业网站欣赏
  • 孟村县做网站价格网页设计制作网站成品
  • 工业软件开发前景江苏网站seo优化
  • 青岛做网站找什么公司wordpress手机端主题插件下载失败
  • flash网站建设教程视频园林公司做网站的好处
  • 什么网站做网页好汉阳区建设局网站
  • 怎么健免费网站吗wordpress 自动广告
  • 班级网站布局衡阳网站建设公司哪家好
  • 《网站开发与应用》大作业北京已经开始二次感染了
  • 长沙经开区建管站电商网站国内外需求分析
  • wordpress粘贴图片云南网站seo服务
  • 帝国cms 网站迁移错版wordpress插件文件
  • 租号网站建设建站网址打不开
  • 建设网站费用明细了解网络营销相应的网站
  • 怎么在网站中添加百度商桥为什么企业需要建设网站?
  • 深圳建站公司是国企吗php网站开发实例教程 源码
  • 网站推广易网宣网络公司取名字参考大全最新
  • 网站图片有什么要求联盟设计库
  • 小学做试题网站免费网络推广培训课程
  • 做商城网站需要备案什么域名微信认证 网站
  • 展示型网站模板源码厦门网站建设平台
  • 宁波网站优化平台网站导航自适应
  • c2c网站的特点及主要功能鸿鑫建设集团有限公司网站
  • 青春网站建设工作室设计签名免费名字
  • 电子商务网站开发视频中国环球贸易网
  • 商城网站制作明细专业柳州网站建设
  • 什么公司网站建设比较好设计需要看的网站有哪些
  • 网站关键词的布局哈尔滨大型网站制作开发
  • 关于集团网站建设的请示极简app制作器