Ràng buộc ngữ cảnh thông qua phương thức apply trong JavaScript
Bây giờ chúng ta hãy xem xét phương thức apply
để ràng buộc ngữ cảnh. Nó hoạt động gần như
giống như phương thức call. Sự khác biệt nằm ở
việc trong apply, các tham số được truyền vào
dưới dạng mảng, chứ không phải liệt kê qua dấu phẩy.
Tùy thuộc vào nhiệm vụ, có lúc phương thức này
tiện lợi, có lúc phương thức kia tiện lợi.
Đây là ví dụ về truyền tham số vào phương thức apply:
func.apply(elem, [param1, param2]);
Giả sử có đoạn mã sau:
<input id="elem" value="hello">
let elem = document.querySelector('#elem');
function func(surname, name) {
console.log(this.value + ', ' + surname + ' ' + name);
}
func(); // Ở đây cần in ra 'hello, John Smit'
Thêm phương thức apply
vào dòng cuối cùng
để màn hình hiển thị 'hello,
John Smit'. Từ 'hello' phải
được lấy từ value của input, còn 'John'
và 'Smit' phải là các tham số của hàm.