使用myValue()替换myValue的正确术语

时间:2017-05-04 19:28:10

标签: javascript callback terminology trampolines

我一直看到这种价值替代的模式,我正在试图弄清楚如何向同事解释替代品。

问题

适用于:

的正确,明确的词语是什么?
  1. 此替换
  2. 替代函数
  3. 在许多应用程序中,您需要重新查询值,而不是使用现有的已定义变量。

    高级用例:

    1. 蹦床
    2. 使用函数作为React子元素,而不是JSX / HTML
    3. 示例动画

      const initialValue = (
        +(0.5 * window.innerHeight)
      );
      
      const remainingValue = (
        -(initialValue)
        +(0.25 * window.innerHeight)
      );
      
      function getTopValue (percentageComplete) {
        return (
          +(initialValue)
          +(percentageComplete * remainingValue)
        );
      }
      

      如果您在几秒钟内调用getTopValue,其值介于0和1之间,则最终会以初始值+剩余

      结束

      但是,如果要调整屏幕大小,最终目的地不同,则必须将remainingValue转换为函数,而不是值

      const initialValue = (
        +(0.5 * window.innerHeight)
      );
      
      const remainingValue = () => (
        -(initialValue)
        +(0.25 * window.innerHeight)
      );
      
      function getTopValue (percentageComplete) {
        return (
          +(initialValue)
          +(percentageComplete * remainingValue())
        );
      }
      

1 个答案:

答案 0 :(得分:0)

  1. 延迟评估 - 将表达式评估延迟到需要值的策略
  2. thunk - 创建一个无参数闭包,用于防止对表达式求值,直到以后强制为止