Lệnh gọi Hàm Javascript là một phương thức javascript được xác định trước, được sử dụng để viết các phương thức cho các đối tượng khác nhau. Nó gọi phương thức, lấy đối tượng chủ sở hữu làm đối số. Từ khóa this dùng để chỉ “chủ sở hữu” của chức năng hoặc đối tượng mà nó thuộc về. Tất cả các chức năng trong javascript được coi là phương pháp đối tượng. Vì vậy, chúng ta có thể liên kết một hàm với một đối tượng cụ thể bằng cách sử dụng 'call[]'. Hàm sẽ là đối tượng toàn cục nếu hàm không được coi là phương thức của đối tượng JavaScript
cú pháp
call[]
Giá trị trả về. Nó gọi và trả về một phương thức với đối tượng chủ sở hữu là đối số
ví dụ 1. Đây là một ví dụ cơ bản để mô tả việc sử dụng phương thức call[].
Javascript
// function that returns product of two numbers
function
product[a, b] {
1000
1001
1002
1004
1007
1009
B 456 Manager 4 years0
B 456 Manager 4 years1
B 456 Manager 4 years2
B 456 Manager 4 years5
B 456 Manager 4 years6
đầu ra
100
ví dụ 2. Ví dụ này mô tả việc sử dụng các lệnh gọi hàm có đối số
Javascript
B 456 Manager 4 years7
B 456 Manager 4 years8
B 456 Manager 4 years9
1009
253
1000
255
function
257
258
1001
B 456 Manager 4 years1
1258
3
4258
3B 456 Manager 4 years1
8
9258
1258
3
9258____95_______6
1000
1004
1004
// function that returns product of two numbers
3
1009
// function that returns product of two numbers
61000
// function that returns product of two numbers
8// function that returns product of two numbers
9
01000
2
3
0
1004
1009
91000
// function that returns product of two numbers
8function
2
01000
2function
6
0
1004
1009
product[a, b] {
2product[a, b] {
3
0product[a, b] {
5product[a, b] {
6
product[a, b] {
8_______7_______8
10000
B 456 Manager 4 years6
đầu ra
B 456 Manager 4 years
ví dụ 3. Ví dụ này mô tả ràng buộc một chức năng với một đối tượng
Javascript
1009
10005
function
10008
10009
1001
B 456 Manager 4 years1
10012_______7_______1
10014
1004
10018
B 456 Manager 4 years6
đầu ra
25
Chúng tôi có một danh sách đầy đủ các Chức năng Javascript, để kiểm tra chúng, vui lòng xem qua bài viết tham khảo Toàn bộ Chức năng Javascript
Ghi chú. Theo mặc định, trong hàm
func.call[thisArg, arg1, .. argN]
1 đề cập đến đối tượng toàn cầu i. e, cửa sổ trong trình duyệt web và function sum[a, b] {
return a + b;
}
// invoking sum[] by passing this and 'a', 'b' arguments
let result = sum.call[this, 5, 3];
console.log[result];
2 trong nút. jscall[] Giá trị trả về
- Trả về kết quả thu được từ việc gọi hàm với giá trị và đối số
1 đã chỉ địnhfunc.call[thisArg, arg1, .. argN]
Ghi chú. Bằng cách sử dụng
func.call[thisArg, arg1, .. argN]
0, chúng ta có thể sử dụng các chức năng thuộc về một đối tượng để được gán và gọi cho một đối tượng khácví dụ 1. Sử dụng phương thức call[]
function sum[a, b] {
return a + b;
}
// invoking sum[] by passing this and 'a', 'b' arguments
let result = sum.call[this, 5, 3];
console.log[result];
đầu ra
8
Trong ví dụ trên, chúng ta đã định nghĩa hàm
function sum[a, b] {
return a + b;
}
// invoking sum[] by passing this and 'a', 'b' arguments
let result = sum.call[this, 5, 3];
console.log[result];
5 trả về tổng của hai sốSau đó, chúng tôi đã sử dụng phương pháp
func.call[thisArg, arg1, .. argN]
0 để gọi function sum[a, b] {
return a + b;
}
// invoking sum[] by passing this and 'a', 'b' arguments
let result = sum.call[this, 5, 3];
console.log[result];
5 là function sum[a, b] {
return a + b;
}
// invoking sum[] by passing this and 'a', 'b' arguments
let result = sum.call[this, 5, 3];
console.log[result];
8Ở đây, theo mặc định,
func.call[thisArg, arg1, .. argN]
1 bên trong hàm được đặt thành đối tượng toàn cụcví dụ 2. Có và không sử dụng phương thức call[]
// function that finds product of two numbers
function product[a, b] {
return a * b;
}
// invoking product[] without using call[] method
let result1 = product[5, 2];
console.log["Return value Without using call[] method: " + result1];
// invoking product[] using call[] method
let result2 = product.call[this, 5, 2];
console.log["Return value Using call[] method: " + result2];
đầu ra
Return value Without using call[] method: 10 Return value Using call[] method: 10
Trong ví dụ trên, chúng ta đã gọi hàm
80. không sử dụng
func.call[thisArg, arg1, .. argN]
0 và sử dụng func.call[thisArg, arg1, .. argN]
0- Không cần sử dụng
0- chúng ta có thể gọi trực tiếpfunc.call[thisArg, arg1, .. argN]
8
0 là8
5 - Sử dụng
0- chúng ta phải chuyển đối sốfunc.call[thisArg, arg1, .. argN]
1 thànhfunc.call[thisArg, arg1, .. argN]
8
8
ví dụ 3. Truyền đối tượng dưới dạng Giá trị này trong cuộc gọi[]
// object definition
const human = {
firstName: "Judah",
lastName: "Parker",
age: 26,
};
// function definition
function greet[] {
const string = `My name is ${this.firstName} ${this.lastName}. I am ${this.age} years old.`;
console.log[string];
}
// passing object as this value in call[] method
greet.call[human];
đầu ra
My name is Judah Parker. I am 26 years old.
Trong ví dụ trên, chúng tôi đã định nghĩa hàm
89 bên trong chúng tôi đã xác định một chuỗi biến có thể truy cập các giá trị của con người
Sau đó, chúng tôi đã chuyển đối tượng con người dưới dạng giá trị
func.call[thisArg, arg1, .. argN]
1 trong phương thức func.call[thisArg, arg1, .. argN]
0 thành // function that finds product of two numbers
function product[a, b] {
return a * b;
}
// invoking product[] without using call[] method
let result1 = product[5, 2];
console.log["Return value Without using call[] method: " + result1];
// invoking product[] using call[] method
let result2 = product.call[this, 5, 2];
console.log["Return value Using call[] method: " + result2];
2, gọi 89
Ví dụ 4. Sử dụng call[] cho Chain Constructors
//function definition
function Animal[name, age] {
this.name = name;
this.age = age;
}
//function definition
function Horse[name, age] {
Animal.call[this, name, age];
this.sound = "Neigh";
}
//function definition
function Snake[name, age] {
Animal.call[this, name, age];
this.sound = "Hiss";
}
const snake1 = new Snake["Harry", 5];
console.log[snake1.name, snake1.age, snake1.sound];
const horse1 = new Horse["Arnold", 8];
console.log[horse1.name, horse1.age, horse1.sound];
đầu ra
Harry 5 Hiss Arnold 8 Neigh
Ghi chú. Sự khác biệt giữa
func.call[thisArg, arg1, .. argN]
0 và // function that finds product of two numbers
function product[a, b] {
return a * b;
}
// invoking product[] without using call[] method
let result1 = product[5, 2];
console.log["Return value Without using call[] method: " + result1];
// invoking product[] using call[] method
let result2 = product.call[this, 5, 2];
console.log["Return value Using call[] method: " + result2];
5 là func.call[thisArg, arg1, .. argN]
0 chấp nhận một danh sách đối số, trong khi // function that finds product of two numbers
function product[a, b] {
return a * b;
}
// invoking product[] without using call[] method
let result1 = product[5, 2];
console.log["Return value Without using call[] method: " + result1];
// invoking product[] using call[] method
let result2 = product.call[this, 5, 2];
console.log["Return value Using call[] method: " + result2];
5 chấp nhận một mảng đối số