繁体   English   中英

高级原型功能

High level prototype functions

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试在nodejs中创建一个包装器,该包装器根据主包装器的输入抽象出不同的功能。 例如,假设我有两个不同的文件,一个叫做usa ,一个叫做uk ,它们都有相同的功能,但是功能却不同。 我试图编写一个函数,给定字符串usuk ,然后得到一个包装函数,可以这样调用:

const Wrapper = MyWrapper('uk')
const func1Output = Wrapper.func1(10)

我目前可以进行上述工作, uk文件只是将其中的函数定义为原型,如下所示:

function MyWrapper () { }
MyWrapper.prototype.func1 =  (input) => console.log(input)
return new MyWrapper()

一切正常。 我目前的情况是,包装程序应该可以访问跨不同文件的许多功能。 它不仅是func而且在该特定文件中还有其他内容。 这是我的文件夹结构

wrappers
 - feed
  -- uk
  -- us
 - news
  -- uk
  -- us

//etc

每个名为uk / us文件us具有原型功能,如第二个代码段中所示。 因此,例如,每当我要使用feed模块时,都必须在第一个代码段中这样做。 因此,它是每个模块的原型,不是每个字符串(即英国/美国)的最高级别。

我正在尝试做的是在wrappers文件夹中只有一个文件index.js ,该文件负责为我提供所有模块的一个包装器。 MyWrapper('uk').feed.func1()

这是一个很难解释的问题,但如果需要,我很乐意编辑该帖子以进行进一步的说明。

1 个回复

为什么不只返回常规对象?

 // wrapper/index.js
 const wrappers = {
  uk: {
   func1() { /*...*/ }
  },

  us: {
   func1() { /*...*/ }
  }
};

module.exports = country => wrappers[country];

可以用作:

  const wrapper = require("./wrapper/")("uk");
 wrapper.func1();
1 以高级模式保存原型

我需要在高级模式下使用闭包编译器编译我的代码。 我还需要将对象的原型保留在应用程序中,因为我正在遍历Javascript对象的原型。 在启动应用程序时,试图同时获取这两个结果都会产生一些ReferenceError。 使用ADVANCED模式进行编译时,某些原型将被删除,并替换为使用对 ...

2 js创建高级原型

我在一个项目中工作,在大多数情况下,我必须导入html divs的computed style ...因此,我试图在Object下创建一个自定义prototype ,以使我的代码更简洁,更简短。适用于我的代码... 当var a是html div的node并且我需要该div的height ...

3 功能原型与否?

我在原始的Linux内核代码中找到了以下内容。 ( 链接 ) 由于static inline带有前缀,因此不能是函数调用。 它不能是原型,因为函数不能在C重载。 最终没有分号。 这是什么? 另外,此评论之前(如果您也可以解释) ...

2014-03-29 10:15:34 2 263   c/ kernel
4 功能原型

我有一个称为Observable的函数。 对于所有函数,我可以在函数上调用某些方法,即使它们不直接存在于函数中,JS也会“沿原型链向下移动”并在函数上获取方法。 这种方法的示例是' toString() ' 现在,当我将Observable.prototype设置为新对象并在该对象中 ...

5 功能原型

在C ++中函数原型的最佳用法是什么? 例如,我知道您可以使用它将功能放置在“主要”功能范围之外。 什么时候认为有用? 我始终喜欢将主文件放在主文件的底部,这是个人喜好。 我对C ++并没有太多的经验,因此我想尝试做得更好。 我确实注意到,如果您不输入原型,这似乎可以缩 ...

2017-05-05 05:15:55 1 49   c++
6 Javascript原型,如何访问原型功能

这是Java原型的整个概念的新手,可能会感到困惑。 假设我有一个名为Widget的类,定义为: 我应该能够调用Widget.myGreatFunction(); 还是我需要调用Widget.prototype.myGreatFunction()? 运行强大的功能? ...

7 管道0..10到高级功能

我0..10为什么管道0..10在直接传递时没有通过我的功能。 我希望管道0..10到以下功能将返回10个结果。 我不明白为什么以下只返回一个结果。 我预计会有一个值块和$t | %{$_+10} $t | %{$_+10}会将它们分解,对它们进行操作并将它们返回到输出。 ...

8 jQuery(高级?)功能

我发现许多示例jQuery代码都在其中使用$('object').function1().function2()等多个函数 有人可以向我解释一下它是如何工作的以及如何正确使用吗? ...

2016-06-17 07:31:54 1 35   jquery
9 数组列表和高级功能

我有一个字符串ArrayLists的ArrayList,需要使用高级函数进行处理。 我正在根据“在一个月的午餐中学习Powershell工具制作”中学到的知识对该功能进行建模。 为了使功能灵活,他们在那本书中告诉您进行设置,以便可以通过管道传递参数,但也可以将其视为数组。 因此,基本上 ...

10 git jenkins高级功能

我们的团队使用jenkins和git。 我们正在寻求实现git插件的高级功能,该功能允许在将提交提交到受祝福的存储库之前进行预构建。 请参阅https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-AdvancedFea ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM