手册

目录

函数 Apply

收藏352

阅读848

更新时间2025-08-07

方法重用

通过 apply() 方法,您能够编写用于不同对象的方法。

JavaScript apply() 方法

apply() 方法与 call() 方法非常相似:

在本例中,personfullName 方法被应用person1

实例

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName: "Bill",
    lastName: "Gates",
}
person.fullName.apply(person1);  // 将返回 "Bill Gates"
运行实例 »

点击 "运行实例" 按钮查看在线实例

call() 和 apply() 之间的区别

不同之处是:

call() 方法分别接受参数。

apply() 方法接受数组形式的参数。

如果要使用数组而不是参数列表,则 apply() 方法非常方便。

带参数的 apply() 方法

apply() 方法接受数组中的参数:

实例

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:"Bill",
  lastName: "Gates"
}
person.fullName.apply(person1, ["Oslo", "Norway"]);
运行实例 »

点击 "运行实例" 按钮查看在线实例

call() 方法对比:

实例

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:"Bill",
  lastName: "Gates"
}
person.fullName.call(person1, "Oslo", "Norway");
运行实例 »

点击 "运行实例" 按钮查看在线实例

在数组上模拟 max 方法

您可以使用 Math.max() 方法找到(数字列表中的)最大数字:

实例

Math.max(1,2,3);  // 会返回 3
运行实例 »

点击 "运行实例" 按钮查看在线实例

由于 JavaScript 数组没有 max() 方法,因此您可以应用 Math.max() 方法。

实例

Math.max.apply(null, [1,2,3]); // 也会返回 3
运行实例 »

点击 "运行实例" 按钮查看在线实例

第一个参数(null)无关紧要。在本例中未使用它。

这些例子会给出相同的结果:

实例

Math.max.apply(Math, [1,2,3]); // 也会返回 3
运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

Math.max.apply(" ", [1,2,3]); // 也会返回 3
运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

Math.max.apply(0, [1,2,3]); // 也会返回 3
运行实例 »

点击 "运行实例" 按钮查看在线实例

JavaScript 严格模式

在 JavaScript 严格模式下,如果 apply() 方法的第一个参数不是对象,则它将成为被调用函数的所有者(对象)。在“非严格”模式下,它成为全局对象。

相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.8万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.4万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71.1万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.7万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

34万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号