Hàm apply trong JavaScript - Fedu

CHÀO MỪNG BẠN ĐẾN VỚI THƯ VIỆN HỌC TẬP & ĐÀO TẠO CƠ BẢN

Hàm apply trong JavaScript

JavaScript

Hướng dẫn JavaScript

Biểu mẫu JavaScript

Đối tượng JavaScript

Hàm JavaScript

DOM JavaScript

Trình duyệt BOM

JavaScript Ajax

JavaScript Json

Phương thức apply() trong JavaScript

Phương thức apply() tương tự như phương thức call():

var person = {
firstName:”John”,
lastName: “Doe”,
fullName: function() {
return this.firstName + ” ” + this.lastName;
}
}
var myObject = {
firstName:”Mary”,
lastName: “Doe”,
}
person.fullName.apply(myObject);  // trả về “Mary Doe”

Sự khác biệt giữa call() và apply()

Sự khác biệt duy nhất là: call() lấy bất kỳ đối số hàm riêng. Còn apply() lấy bất kỳ đối số hàm như một mảng. Phương thức apply() rất tiện dụng nếu bạn muốn sử dụng một mảng thay vì một danh sách đối số.

Nếu bạn muốn có được số lượng lớn nhất trong danh sách các số, bạn có thể sử dụng phương thức Math.max():

Math.max(1,2,3);  // trả về 3

Vì các mảng JavaScript không có phương thức max(), bạn có thể áp dụng Math.max().

Math.max.apply(null,[1,2,3]); // trả về 3

Giá trị từ khóa this

Trong strict mode của JavaScript, đối số đầu tiên trở thành giá trị của hàm này trong hàm gọi, ngay cả khi đối số không phải là một đối tượng.

Trong chế độ “non-strict”, nếu giá trị của đối số thứ nhất là null hoặc undefined, nó sẽ được thay thế bằng đối tượng toàn cục.