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

网络优化网站建设如何自己制作一个软件

网络优化网站建设,如何自己制作一个软件,wordpress友情链接自助申请,seo网络推广软文的格式什么是闭包#xff1f; MDN#xff1a;“闭包是捆绑在一起#xff08;封闭#xff09;的函数及其周围状态#xff08;词法环境#xff09;的引用的组合。换句话说#xff0c;闭包使您可以从内部函数访问外部函数的作用域。在 JavaScript 中#xff0c;每次创建函数时都…什么是闭包 MDN“闭包是捆绑在一起封闭的函数及其周围状态词法环境的引用的组合。换句话说闭包使您可以从内部函数访问外部函数的作用域。在 JavaScript 中每次创建函数时都会创建闭包。” 比如说 const getShowName () {const name fatfish // name是由getShowName创建的局部变量return () {console.log(name) // 使用父函数中声明的变量} }const showName getShowName()showName() // fatfish 作为一名前端开发闭包在很多场景中都会用到功能确实有点牛 场景使用 1.解决循环问题 for (var i 0; i 3; i) {setTimeout(() {console.log(i) // 我要打印什么}, 1000 * i) } 我们怎样才能让它打印0、1、2呢这个问题我们就可以使用闭包来解决 for (var i 0; i 3; i) {((n) {setTimeout(() {console.log(n) // 我该打印啥}, 1000 * n)})(i) } 当然我们还有另一种更简单的方法只需将var替换为let即可解决这个问题。 for (let i 0; i 3; i) {setTimeout(() {console.log(i) // 打印啥}, 1000 * i) } 2.记忆功能 利用闭包的特性我们可以减少计算量提高我们编写的程序的性能。 const memoize (callback) {const cache new Map()return function (n) {if (cache.has(n)) { // 当它已经存在于缓存中时结果将直接返回我们不需要再次计算return cache.get(n)} else {const res callback.call(this, n)cache.set(n, res) // 第一次计算后结果将被缓存return res}} } const fibonacci memoize(function fib (n) {if (n 1) {return 1}if (n 2 || n 3) {return 2}return fib(n - 1) fib(n - 2) })console.log(fibonacci(1)) // 1 console.log(fibonacci(10)) // 68 console.log(fibonacci(10)) // 68 从缓存中拿到 3.封装私有变量和属性  很早以前我们经常通过闭包来实现对私有变量的保护。我们只能通过getName和setName来获取和设置_name的值。这样我们就可以有效防止_name被恶意修改。 const createName (name) {let _name namereturn {getName () {return _name},setName (name) {_name name}} } const p createName(fatfish) p.getName() // fatfish p.setName(medium) p.getName() // medium 4.函数柯里化  什么是函数柯里化 baidu在计算机科学中柯里化Currying是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数并且返回接受余下的参数且返回结果的新函数的技术。 const curry (callback, ...args) {return function (...innerArgs) {innerArgs args.concat(innerArgs)if (innerArgs.length callback.length) {return callback.apply(this, innerArgs)} else {return curry(callback, innerArgs)}} }const add curry((a, b, c) {return a b c }, 1) console.log(add(2, 3)) // 6
http://www.zqtcl.cn/news/124109/

相关文章:

  • 购物网站ppt怎么做网站建设的申请理由
  • 美食网站要怎么做背景墙素材高清图片免费
  • 广东专业网站优化制作公司做编辑器的网站
  • 优惠券怎做网站自己注册网站
  • 网站建设中应该返回502还是301动画短视频制作教程
  • o2o网站设计公司韩都衣舍网站建设
  • 做网站用别人的源码可以吗在线视频制作
  • 响应式网站 有哪些弊端北京网站建设怎么样
  • 轮播网站碑林微网站建设
  • 韩国网站免费观看网站建设 博客
  • 网站网商wordpress图片生成插件下载
  • seo网站营销推广桂林网站建设内容
  • 乐达淄博网站建设制作html网站开发流程
  • 赤峰网站建设flash教程网站都有哪些
  • 网站建设哪里学成品短视频app源码搭建
  • 网站可以自己做温州制作手机网站
  • 根河企业网站建设房地产如何做网站推广
  • 东莞个人网站建设南宁网站制作公
  • 网站推广seo是什么上海市人力资源网官网
  • 玉溪做网站的公司delphi xe10网站开发
  • 使用vue做的网站有哪些企业门为什么要建设门户网站
  • 上海移动云网站建设在门户网站上爆光怎么做
  • 网站建设开票内容百度浏览器广告怎么投放
  • 深圳公司网站建立小程序商店制作
  • 网站建设知识网犀牛云做网站多少钱
  • 东莞seo优化推广重庆做网络优化公司电话
  • 网站建设的设计思路高校建设网站的特色
  • 宁波网站建设八宝山做网站的公司
  • 哪里有网站建设多少钱网站建设哪家服务态度好
  • 白云区网站开发公司备案不关闭网站的方法