【问题标题】:Proper terminology for replacing myValue with myValue()用 myValue() 替换 myValue 的正确术语
【发布时间】:2017-10-03 03:06:32
【问题描述】:

我不断看到这种价值替换模式,我正试图弄清楚如何向我的同事解释这种替换。


问题

什么是正确的,明确的词:

  1. 这个替换
  2. 替换函数

在许多应用程序中,您需要重新查询该值,而不是使用现有的已定义变量。

高级用例:

  1. 蹦床
  2. 将函数用作 React 子代,而不是 JSX / HTML

示例动画

const initialValue = (
  +(0.5 * window.innerHeight)
);

const remainingValue = (
  -(initialValue)
  +(0.25 * window.innerHeight)
);

function getTopValue (percentageComplete) {
  return (
    +(initialValue)
    +(percentageComplete * remainingValue)
  );
}

如果您要在几秒钟内调用 getTopValue 并使用介于 0 和 1 之间的值,您最终会以初始 + 剩余数结束

但是,如果你要调整屏幕大小,你的最终目的地是不同的,你必须将剩余值变成一个函数,而不是一个值

const initialValue = (
  +(0.5 * window.innerHeight)
);

const remainingValue = () => (
  -(initialValue)
  +(0.25 * window.innerHeight)
);

function getTopValue (percentageComplete) {
  return (
    +(initialValue)
    +(percentageComplete * remainingValue())
  );
}

【问题讨论】:

    标签: javascript callback terminology trampolines


    【解决方案1】:
    1. 惰性求值 -- 延迟表达式求值直到需要它的值的策略
    2. thunk -- 一个无参数闭包,用于防止表达式的求值,直到稍后强制执行

    【讨论】:

      猜你喜欢
      • 2019-06-09
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      相关资源
      最近更新 更多