
Function.prototype.apply 和 Function.prototype.call 是允许您使用特定 this 值和参数调用函数的方法。两者之间的主要区别在于 apply 允许您传入参数数组,而 call 则要求您将参数一一列出。
Function .prototype.apply 是一种方法,允许您使用特定的 this 值和参数数组调用函数。
使用 apply 的语法是 -
func.apply(thisArg, argsArray)
这里 thisArg 是将在函数内用作 this 的值。 argsArray 是将传递给函数的参数数组。
以下是使用 apply 调用函数的示例 -
<!doctype html>
<html>
<head>
<title>Examples</title>
</head>
<body>
<div id="result"></div>
<script>
function sayHello(name) {
return "Hello, " + name + "!";
}
document.getElementById("result").innerHTML = sayHello.apply(null, ["John"])
</script>
</body>
</html>上面的代码将打印下面的输出。
立即学习“Java免费学习笔记(深入)”;
Hello, John!
如您所见,我们为 thisArg 传递了 null,因为我们不想设置 this 值。我们为 argsArray 传递了一个数组,其中包含参数“John”。结果是以“John”作为名称参数调用 sayHello 函数。
Function.prototype.call 是一个允许您调用的方法具有特定 this 值和参数列表的函数。
使用 call 的语法是
func.call(thisArg, arg1, arg2, ...)
这里 thisArg 是将在函数内用作 this 的值。 arg1、arg2、 ...是将传递给函数的参数。
这里是使用调用的示例 调用函数 -
<!doctype html>
<html>
<head>
<title>Examples</title>
</head>
<body>
<div id="result"></div>
<script>
function sayHello(name) {
return "Hello, " + name + "!";
}
document.getElementById("result").innerHTML = sayHello.call(null, ["John"])
</script>
</body>
</html>上面的代码将打印下面的输出。
立即学习“Java免费学习笔记(深入)”;
Hello, John!
如您所见,我们为 thisArg 传递了 null,因为我们不想设置 this 值。我们将“John”作为唯一的参数。结果是以“John”作为名称参数调用 sayHello 函数。
简介PHP轻论坛是一个简单易用的PHP论坛程序,适合小型社区和个人网站使用。v3.0版本是完全重构的版本,解决了之前版本中的所有已知问题,特别是MySQL保留字冲突问题。主要特点• 简单易用:简洁的界面,易于安装和使用• 响应式设计:适配各种设备,包括手机和平板• 安全可靠:避免使用MySQL保留字,防止SQL注入• 功能完善:支持分类、主题、回复、用户管理等基本功能• 易于扩展:模块化设计,便于
21
下表重点介绍了Function.prototype.apply 和 Function.prototype.call 之间的主要区别 -
| 比较基础 | Function.prototype.apply | Function.prototype.call | |
|---|---|---|---|
| 定义 | 此方法允许我们使用特定的 this 值和参数数组调用函数。 | 此方法允许我们使用特定的 this 值和参数列表调用函数。 | |
| 参数 | 我们传递一个参数数组。 | 我们传递一个参数列表。 | |
| 速度 | 因为它没有创建新函数,所以它比调用更快。 | em> | 因为每次调用都会创建一个新函数,所以比apply慢。 |
| 用法 |
|
|
在本教程中,我们讨论了apply和call之间的区别> 方法。两者之间的主要区别在于他们如何接受论点。这些方法有不同的用法。您可以查看上表中的使用情况行。
以上就是JavaScript 中 Function.prototype.apply 和 Function.prototype.call 的区别的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号