Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数参数的JavaScript绑定_Javascript_Node.js - Fatal编程技术网

函数参数的JavaScript绑定

函数参数的JavaScript绑定,javascript,node.js,Javascript,Node.js,我遇到的问题是,当warn/NPM生成代码时,我看到函数绑定发生了变化。我还没有看到任何关于装订风格的文章 我试图检查,但找不到任何关于它的文档 下面是在项目目录中名为model.js的一个文件中定义的函数 export function buildModel(modelType, numTimeSteps, numFeatures) {..} 很明显,此函数包含3个参数。 现在,当我构建一个纱线时,它会合并/重新排列所有的js文件&现在,当我查看函数时,它显示为这样 const mode

我遇到的问题是,当warn/NPM生成代码时,我看到函数绑定发生了变化。我还没有看到任何关于装订风格的文章

我试图检查,但找不到任何关于它的文档

下面是在项目目录中名为model.js的一个文件中定义的函数

 export function buildModel(modelType, numTimeSteps, numFeatures) {..}
很明显,此函数包含3个参数。 现在,当我构建一个纱线时,它会合并/重新排列所有的js文件&现在,当我查看函数时,它显示为这样

 const model = (0, _models.buildModel)(modelType, steps, numFeatures); 
我不理解这种语法风格

需要详细信息或资源链接才能理解此生成的代码样式。

表达式
(0,\u models.buildModel)
的计算结果为
\u models.buildModel
;这是一个带括号的逗号表达式。因此,总体效果是

(_models.buildModel)(modelType, steps, numFeatures);

\u models
符号是我假定在构建期间为从该模块导出的符号创建的对象。您看到的代码是对函数的调用(调用),而不是它的定义。

它们不一样。后者可能会调用第一个代码段中显示的transpiled函数。因此,没有太多需要理解的地方,它们完全不同。@Jonaswillms,我不确定我是否理解;它看起来像是一些生成的代码来获取对象的属性(前面的括号中的逗号表达式)。@pointy“现在,当我查看函数时,它显示为这样”。。。这不是功能…@Jonaswillms啊,我明白了,对吧;这是对函数的调用(我想)知道
0
的用途吗?@HåkenLid看到解释它的副本了吗properly@HåkenLid right链接的dup解释了这一点;这是为了确保函数被称为“裸函数”,并适当绑定
this
;这是一个神秘的JavaScript函数调用细节。好吧,如果我理解正确,0就在那里,因为逗号运算符需要两个操作数,
0
是放在左手的最短表达式。是的,这是正确的。