混淆 Javascript 函数和参数声明 [重复]

Posted

技术标签:

【中文标题】混淆 Javascript 函数和参数声明 [重复]【英文标题】:Confusing Javascript Function and Parameter Declaration [duplicate] 【发布时间】:2022-01-16 05:09:45 【问题描述】:

我刚刚在看一个关于 3js 滚动动画控制的教程。刚刚在示例代码中看到,有一个我以前见过的带有参数设置的奇怪函数声明。它们看起来像键值对。当我将教程提供的整个 javascript 代码复制并粘贴到我的 IDE 中并运行它时,它告诉我“:”是意外的。我只是想知道这是否是一种有效的格式,并获得更多关于这段代码如何工作的信息。

function lerp( x: number, y: number, a: number):  number 
        return (1 - a) * x + a * y
    

【问题讨论】:

看起来像 typescript 而不是普通的 JS 从typescript函数中去掉打字,得到常用的js函数=>function lerp( x, y, a) return (1 - a) * x + a * y Duplicate of What does colon do in a javascript function parameter。 【参考方案1】:

这不完全是 javascript,而是 typescript。

此语法让解释器知道xya 应该是number 类型。

【讨论】:

PS:该函数也应该返回一个number 啊,非常感谢! 不客气!【参考方案2】:

该函数在 typescript 中声明,您必须将其转换为 javascript 才能直接执行它,或者您可以像这样删除类型定义,然后它将起作用。

function lerp(x, y, a) 
    return (1 - a) * x + a * y;

【讨论】:

以上是关于混淆 Javascript 函数和参数声明 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将任意数量的参数传递给Javascript函数[重复]

Javascript基础

JS 中的函数表达式和函数声明你混淆了吗?

javascript中的可选参数[重复]

javascript函数声明和范围差异[重复]

js 变量声明易混淆的几点知识