<tfoot id='VUntQ'></tfoot>

  1. <small id='VUntQ'></small><noframes id='VUntQ'>

    1. <legend id='VUntQ'><style id='VUntQ'><dir id='VUntQ'><q id='VUntQ'></q></dir></style></legend>
      • <bdo id='VUntQ'></bdo><ul id='VUntQ'></ul>
      <i id='VUntQ'><tr id='VUntQ'><dt id='VUntQ'><q id='VUntQ'><span id='VUntQ'><b id='VUntQ'><form id='VUntQ'><ins id='VUntQ'></ins><ul id='VUntQ'></ul><sub id='VUntQ'></sub></form><legend id='VUntQ'></legend><bdo id='VUntQ'><pre id='VUntQ'><center id='VUntQ'></center></pre></bdo></b><th id='VUntQ'></th></span></q></dt></tr></i><div id='VUntQ'><tfoot id='VUntQ'></tfoot><dl id='VUntQ'><fieldset id='VUntQ'></fieldset></dl></div>

      一次围绕setTimeout的前端面试经验分享

      时间:2023-12-09
      • <legend id='WOObo'><style id='WOObo'><dir id='WOObo'><q id='WOObo'></q></dir></style></legend>
          <tfoot id='WOObo'></tfoot>
            <tbody id='WOObo'></tbody>

              <small id='WOObo'></small><noframes id='WOObo'>

              • <bdo id='WOObo'></bdo><ul id='WOObo'></ul>
                <i id='WOObo'><tr id='WOObo'><dt id='WOObo'><q id='WOObo'><span id='WOObo'><b id='WOObo'><form id='WOObo'><ins id='WOObo'></ins><ul id='WOObo'></ul><sub id='WOObo'></sub></form><legend id='WOObo'></legend><bdo id='WOObo'><pre id='WOObo'><center id='WOObo'></center></pre></bdo></b><th id='WOObo'></th></span></q></dt></tr></i><div id='WOObo'><tfoot id='WOObo'></tfoot><dl id='WOObo'><fieldset id='WOObo'></fieldset></dl></div>
              • 一次围绕 setTimeout 的前端面试经验分享

                问题

                题目:实现一个函数 delay(fn, time),该函数接收一个函数和一个时间参数,返回一个新的函数,在调用这个新函数时,会在指定的时间之后执行传入的原函数。

                思路:使用 setTimeout 函数来实现该功能。

                代码

                function delay(fn, time) {
                  return function() {
                    setTimeout(fn, time);
                  }
                }
                

                示例

                示例 1

                function foo() {
                  console.log('hello world');
                }
                
                const delayedFoo = delay(foo, 1000);
                
                delayedFoo(); // 1 秒后输出 "hello world"
                

                示例 2

                function bar() {
                  console.log('goodbye world');
                }
                
                const delayedBar = delay(bar, 2000);
                
                setTimeout(delayedBar, 1000); // 2 秒后输出 "goodbye world"
                

                分析

                该题目考察了对闭包和异步编程的理解。主要思路是使用闭包封装一个新函数,返回这个新函数,在这个新函数中使用 setTimeout 来实现异步延迟执行传入的原函数。

                要注意的地方:

                • 原函数的参数需要在新函数中使用到时,需要在返回的函数中将参数传递给原函数。
                • setTimeout 函数的第二个参数是延时时间的毫秒数。
                上一篇:利用JavaScript制作一个搞怪的兔子动画效果 下一篇:实例详解Python装饰器与闭包

                相关文章

                <small id='FPSZD'></small><noframes id='FPSZD'>

                <i id='FPSZD'><tr id='FPSZD'><dt id='FPSZD'><q id='FPSZD'><span id='FPSZD'><b id='FPSZD'><form id='FPSZD'><ins id='FPSZD'></ins><ul id='FPSZD'></ul><sub id='FPSZD'></sub></form><legend id='FPSZD'></legend><bdo id='FPSZD'><pre id='FPSZD'><center id='FPSZD'></center></pre></bdo></b><th id='FPSZD'></th></span></q></dt></tr></i><div id='FPSZD'><tfoot id='FPSZD'></tfoot><dl id='FPSZD'><fieldset id='FPSZD'></fieldset></dl></div>
                <legend id='FPSZD'><style id='FPSZD'><dir id='FPSZD'><q id='FPSZD'></q></dir></style></legend>

                  <tfoot id='FPSZD'></tfoot>

                    <bdo id='FPSZD'></bdo><ul id='FPSZD'></ul>