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