Điều gì xảy ra khi bạn gọi một hàm trong javascript?

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] {

100
0
100
1
100
2

    

100
4

    

    

100
7

    

100
9
B 456
Manager
4 years
0
B 456
Manager
4 years
1
B 456
Manager
4 years
2

    

    

B 456
Manager
4 years
5

B 456
Manager
4 years
6

đầ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 years
7
B 456
Manager
4 years
8
B 456
Manager
4 years
9

 

    

100
9
25
3

100
0
25
5function
25
7

25
8
100
1
B 456
Manager
4 years
11

25
834

25
83
B 456
Manager
4 years
189

25
8    1

25
839

25
8____95_______6

100
0
100
4

    

100
4

    

    // function that returns product of two numbers3

    

100
9 // function that returns product of two numbers6

100
0// function that returns product of two numbers8// function that returns product of two numbers9    0

100
0    2    3    0

    

100
4

    

100
9     9

100
0// function that returns product of two numbers8function2    0

100
0    2function6    0

    

100
4

    

100
9 product[a, b] {2product[a, b] {3    0product[a, b] {5product[a, b] {6

    product[a, b] {8_______7_______8

100
00

B 456
Manager
4 years
6

đầ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




    

100
9
100
05

    function

100
08

100
09
100
1
B 456
Manager
4 years
1
100
12_______7_______1
100
14

    

100
4

    

100
18

B 456
Manager
4 years
6

đầ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. js

call[] 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ố
    func.call[thisArg, arg1, .. argN]
    1 đã chỉ định

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ác

ví 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ục

ví 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

8
0. 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
    func.call[thisArg, arg1, .. argN]
    0- chúng ta có thể gọi trực tiếp
    8
    0 là
    8
    5
  • Sử dụng
    func.call[thisArg, arg1, .. argN]
    0- chúng ta phải chuyển đối số
    func.call[thisArg, arg1, .. argN]
    1 thành
    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

8
9 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
8
9

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ố

Gọi hàm hoạt động như thế nào trong JavaScript?

Phương thức call[] là một phương thức JavaScript được xác định trước. Nó có thể được sử dụng để gọi [gọi] một phương thức với đối tượng chủ sở hữu làm đối số [tham số] . Với call[] , một đối tượng có thể sử dụng một phương thức thuộc đối tượng khác.

Tôi có thể gọi hàm từ JS không?

Nếu bạn có một đối tượng JavaScript có các thuộc tính và phương thức riêng, bạn cũng có thể gọi các phương thức đó bằng cách sử dụng phương thức call[] . Phương thức call[] cho phép bạn gọi một hàm bằng cách chuyển ngữ cảnh cho từ khóa this trong hàm và bất kỳ tham số bắt buộc nào.

Làm cách nào để gọi một hàm trong JavaScript?

Gọi hàm như một phương thức. var myObject = { var. giá trị, tên hàm. hàm [] { trả lại cái này. var; . functionName[];

Điều gì xảy ra nếu bạn gọi một hàm không có dấu ngoặc đơn?

Khi chúng ta gọi một hàm có dấu ngoặc đơn, hàm sẽ được thực thi và trả về kết quả cho hàm có thể gọi được. Trong một trường hợp khác, khi chúng ta gọi một hàm không có dấu ngoặc đơn, tham chiếu hàm được gửi đến hàm có thể gọi được thay vì thực thi chính hàm đó .

Chủ Đề