dtb*_*dtb 27 javascript syntax
一些JavaScript API的文档显示了以下片段作为如何调用某些函数的示例:
<button type="button" onClick="foo.DoIt(72930)">Click</button>
<button type="button" onClick="foo.DoIt(42342::37438)">Click</button>
Run Code Online (Sandbox Code Playgroud)
:: 这里显然使用了允许将一个或两个参数传递给函数.
是什么::在JavaScript中吗?
如果一个或两个值通过,函数如何知道?它是如何读取它们的?
仔细看看,这些例子展示了其他奇怪的东西
<button type="button" onClick="foo.Bar(72//893)">Click</button>
<button type="button" onClick="foo.Qux(425;1,34::)">Click</button>
Run Code Online (Sandbox Code Playgroud)
至少//看起来错了.
所以我想这不是一些我不知道的新奇语法,但也许这些例子只是缺少单个字符串参数的引号.
Bra*_*ann 235
当你的问题当然不是这种情况,但现在::是一个有效的ES7运营商.它实际上是一个捷径bind.
::foo.bar
Run Code Online (Sandbox Code Playgroud)
相当于
foo.bar.bind(foo)
Run Code Online (Sandbox Code Playgroud)
请参阅此处的解释以获取示例:
Que*_*tin 17
没有.这是一个语法错误.
>>> alert(42342::37438)
SyntaxError: missing ) after argument list
Run Code Online (Sandbox Code Playgroud)
::与参数的数量无关.您可以使用普通逗号在JavaScript中执行此操作:
function SomeFunction(param1, param2) {
//...
}
SomeFunction('oneParam'); // Perfectly legal
Run Code Online (Sandbox Code Playgroud)
另外,根据Tzury Bar Yochay的回答,你确定你没有看到类似下面的内容吗?
$('this::is all one::parameter'); // jQuery selector
Run Code Online (Sandbox Code Playgroud)