gpt4 book ai didi

javascript - 无效的 JavaScript 签名仍然调用正确的 API

转载 作者:行者123 更新时间:2023-11-28 20:18:16 24 4
gpt4 key购买 nike

为什么会这样?

<html>
<body id = "body">
<div id="para">hello world, invalid js API signature doesn't throw error !!!</div>
<script>
var temp = document.getSelection("parameter");
</script>
</body>
</html>

getSelection() 按照标准签名不采用任何参数。我已经测试过了,它也不会在 JS 控制台上抛出任何错误。

最佳答案

如果您使用错误数量的参数调用函数,JavaScript 不会提示。如果传递的参数少于声明的参数,则额外参数的值为 undefined。如果有更多,它们就会被忽略。这是一个功能,而不是一个错误!

在 JavaScript 函数内,您可以访问 arguments 值,该值是一个类似数组的结构,保存传递给它的所有参数。如果您希望将所有函数定义为采用 0 个参数,并使用 arguments[0]arguments[1] 等来代替您之前拥有的命名参数(尽管我不明白为什么有人会这样做)并且功能仍然完全相同。

拥有这种arguments结构的好处以及对调用函数的参数数量没有限制,可以让您做非常强大的事情,就像这里找到的bind polyfill:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind

关于javascript - 无效的 JavaScript 签名仍然调用正确的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com