gpt4 book ai didi

javascript - 在 JavaScript 中重载函数

转载 作者:行者123 更新时间:2023-11-30 06:57:22 25 4
gpt4 key购买 nike

我已经使用 jQuery 一年了,但我仍然不明白这段代码是如何工作的:

alert($('#elementID').val()); // It gets the value of element

$('#elementID').val('setting Value'); // the same function is setting value

jquery 的一些其他函数也做同样的事情,比如 .html()

我想知道这个东西是怎么实现的?他们如何重载 javascript 函数?

最佳答案

javascript 中没有重载,所以像这样的壮举是使用可选参数执行的。 JavaScript 允许您在不指定参数的情况下调用函数。例如:

function val(text)
{
if (arguments != null && arguments.length > 0) {
alert("i'm setting value here to " + text);
} else {
alert("i'm getting value here");
}
}

val(); // alerts value getter
val('hi!'); // alerts value setter and the message

写这个例子是为了指出arguments collection which you get in every function .每个函数都可以获取它的参数作为一个集合,并可以相应地执行它的逻辑。但是,显示的示例在现实世界中会有所不同:

function val(text)
{
if (typeof text === "string") {
alert("i'm setting value here to " + text);
} else {
alert("i'm getting value here");
}
}

您未传递给函数的每个参数都获得 undefined 的“值”(不是 null)。这使您可以使用最短的逻辑表达式。您可以在 if 语句中使用任何值。 nullundefined 的变量将被简单地评估为 false

正如下面的评论所指出的,如果 text 参数为空字符串 if (text) 将返回 false。因此,对于文本参数,请按类型检查参数。

这对您也有好处 read about null and undefined differences .

关于javascript - 在 JavaScript 中重载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120962/

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