javascript私有方法引用里面立即调用函数

时间:2017-04-06 02:16:34

标签: javascript

这个javascript代码需要接受一个句子,提取第一个单词,并调用一个名为第一个单词的函数,但如果该单词没有函数则不执行任何操作。但它不是编译。知道为什么以及如何解决它? 即如何将参数传递给函数?

refactor = (function () {

  const john = function (description) {
    console.log(description);
  };

  const factoring = {
    'john': john(description) // <--- description is not defined ---

  };

  return Object.freeze({
    'byName': function (description) {  // calls the correct private method if present
      let name = description.match(/(\S+)\s/)[1];
      if (name in factoring) factoring[name](description);
    }
  });
}());

1 个答案:

答案 0 :(得分:0)

desc未定义。定义desc并为其指定值(const desc = "Some random string")或将desc替换为某个值('john': john("Some random string"))。