07/09/2018, 15:03

Hàm apply trong JavaScript

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 ...

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.

Tham khảo thêm các khóa học lập trình web từ Front-end đến Back-end do trực tiếp giảng viên quốc tế trường FPT Arena giảng dạy giúp bạn thành thạo kỹ năng lập trình web từ CƠ BẢN – NÂNG CAO với giá chỉ từ 290,000đ:
  • Học lập trình front-end cơ bản với bootstrap 4/html5/css3
  • Học lập trình front-end nâng cao qua Project thực tế
  • Học thiết kế web với Photoshop, CSS theo kiểu SASS
  • Học cách sử dụng Git_hub cho lập trình viên
  • Học lập trình Back-end PHP theo mô hình MVC cơ bản
  • Học lập trình Back-end PHP theo mô hình MVC nâng cao
  • Học lập trình Cơ sở dữ liệu với AngularJS
  • Học lập trình theme wordpress. Làm ra mọi website hoàn chỉnh với wordpress
  • Combo lập trình front-end từ cơ bản – nâng cao
  • Combo lập trình back-end từ cơ bản đến nâng cao
  • Combo lập trình web với word press từ A-Z
0