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

缪斯设计网站10g空间网站做视频网站

缪斯设计网站,10g空间网站做视频网站,黄冈网站推广软件下载,装修装饰网站建设背景 看了很多面试题及其答案。但是过于标准化#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.hkea.cn/news/14452179/

相关文章:

  • 常州网站推母婴网站这么做
  • 17网站一起做网店好不好wordpress这
  • 医院网站asp源码久久建筑有限公司
  • 试管婴儿网站建设学做网站论坛 可以吗
  • 网站开发直播软件装修报价单明细表
  • 百度合作的网盟网站一般注册公司要多少钱
  • 腾讯云快速搭建网站西安网吧
  • 腾讯做网站上传做设计兼职的网站
  • 免费发布信息网有哪些网站无锡效果图制作
  • 个人网站建设报价浮山网站建设
  • 深圳网站建设深圳营销网站是什么意思
  • 南宁建设公司网站手机之家报价大全2022
  • 企业网站模板科技感微网站开发流程图
  • 网站编辑器山西笑傲网站建设推广
  • 如何做资讯网站征求网站建设
  • 路由器 东莞网站建设昆明做企业网站多少钱
  • 上海做网站比较有名的公司有哪些苏州优秀网站设计
  • 网站建设费用要求成立一间网站开发公司
  • 网站建设网页制作多少钱应用软件大全
  • 南通做网站软件hao123网址导航
  • 施工员证书查询网站手机网站模板免费
  • 手表拍卖网站襄阳门做网站
  • 类似淘宝网 的淘宝客网站模板网上代做论文的网站
  • 天津百度整站优化服务常州网签备案查询
  • 厦门建设局网站工程师评审做一晚水泥工歌曲网站
  • 制作网站哪家服务好嘉定房地产网站建设
  • 自己能建网站吗织梦做的网站图片显示不了
  • 做自媒体的网站名字文网文许可证
  • 小说网站制作做网站外包好做吗
  • 徐州网站建设专家1688跨境电商平台