Các đối số được truyền trong JavaScript như thế nào?

Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về đối tượng đối số trong JavaScript. Giống như đối tượng đối số trong JavaScript là gì và sau đó chúng ta sẽ thảo luận về một số chương trình sử dụng đối tượng đối số

Chúng ta sẽ thảo luận về những điểm sau

  • Đối số trong JavaScript là gì?
  • Các chương trình liên quan đến đối tượng đối số

Các đối số là một đối tượng cục bộ của một hàm. Bạn có thể coi nó như một biến cục bộ có sẵn với tất cả các hàm theo mặc định ngoại trừ các hàm mũi tên trong JavaScript.  

Đối tượng này [đối số] được sử dụng để truy cập tham số được truyền cho hàm. Nó chỉ có sẵn trong một chức năng. Chúng tôi không thể truy cập nó bên ngoài chức năng. Đối tượng đối số cho phép bạn truy cập tất cả các đối số được truyền cho một hàm. Chúng ta có thể truy cập các đối số này bằng cách sử dụng các chỉ mục

Thí dụ. Hãy hiểu các đối số với một ví dụ đơn giản

Javascript




arguments[0]
5

arguments[0]
6
arguments[0]
0
arguments[0]
1

arguments[0]
2____03

arguments[0]
6
arguments[0]
5

arguments[0]
6

arguments[0]
6
arguments[0]
8____09
undefined
0

undefined
1

đầu ra.  

arguments[0]
0

Giải trình. Trong ví dụ này, chúng tôi đang chuyển “GFG” làm tham số cho hàm hello[]. Như chúng ta biết, chúng ta có thể truy cập tham số được truyền cho hàm bằng cách sử dụng đối tượng đối số với sự trợ giúp của chỉ mục. Nó tương tự như việc truy cập các phần tử mảng bằng cách sử dụng các chỉ mục

Vì chúng ta chỉ truyền một tham số cho hàm hello[] nên tham số này sẽ được đặt ở chỉ mục 0. Chúng ta có thể truy cập nó bằng cú pháp sau

arguments[0]

Thí dụ. Xem xét ví dụ sau

Javascript




arguments[0]
5

arguments[0]
6
arguments[0]
0
arguments[0]
1

arguments[0]
2____87

arguments[0]
6
arguments[0]
5

arguments[0]
6

arguments[0]
6
arguments[0]
8____09
undefined
0

undefined
1

đầu ra.   

________số 8

Giải trình. Đầu ra của ví dụ trên không được xác định bởi vì chúng ta chỉ truyền một tham số cho hàm hello[] sẽ nằm ở chỉ mục thứ 0. Nhưng ở đây chúng tôi đang truy cập đối số [1] không khả dụng. Vì vậy, nó cho đầu ra là không xác định.  

Thí dụ. Để xử lý tình trạng trên, chúng ta cần truyền 2 tham số cho hàm hello[] thì hàm mới cho kết quả chính xác

Javascript




arguments[0]
5

arguments[0]
6
arguments[0]
0
arguments[0]
1

arguments[0]
2____87

arguments[0]
6
arguments[0]
5

arguments[0]
6

arguments[0]
6
arguments[0]
8______09
arguments[0]
18
arguments[0]
19
undefined
0

undefined
1

đầu ra

arguments[0]
5

Thí dụ. Các chương trình sử dụng đối tượng đối số

Javascript




arguments[0]
5

arguments[0]
6
arguments[0]
64
arguments[0]
65

________ 56 ________ 364 ________ 368

arguments[0]
6
arguments[0]
00

arguments[0]
6

arguments[0]
6
arguments[0]
0
arguments[0]
04

arguments[0]
2____364
arguments[0]
07

arguments[0]
2____409
arguments[0]
90

arguments[0]
6
arguments[0]
5

arguments[0]
6

arguments[0]
6
arguments[0]
95

undefined
1

đầu ra

arguments[0]
1

Giải trình. Hầu hết các sinh viên sẽ nghĩ rằng đầu ra phải là 4. Bởi vì chúng ta đang chuyển n=3 làm tham số cho hàm func và đối số [0] = 1 vì tại chỉ mục thứ 0 của mảng đối số, chúng ta có 1. Vậy kết quả sẽ là [3+1] = 4. Nhưng đây không phải là một đầu ra chính xác. Đầu ra đúng là 6. Như chúng ta đã thảo luận trước đó, đối tượng đối số là cục bộ của một hàm được sử dụng để truy cập các tham số được truyền cho nó

Vì chúng tôi đang chuyển n=3 làm tham số. Vì vậy, bên trong đối tượng đối số, chúng ta chỉ có một biến duy nhất là 3. Và n=3 vì chúng ta đang chuyển giá trị 3 cho hàm func. Vì vậy, đối số [0] = 3 [đối số này không nằm ngoài mảng, nhưng nó là đối tượng đối số cục bộ cho bất kỳ hàm không mũi tên nào] và n = 3

Các đối số được thông qua như thế nào?

Đối số được truyền theo giá trị bất cứ khi nào hàm hoặc phụ được gọi . Chèn dấu ngoặc đơn xung quanh đối số trong hàm hoặc lệnh gọi phụ. Bạn có thể kiểm soát xem một đối số được truyền theo tham chiếu hay theo giá trị tại thời điểm hàm hoặc phụ được gọi.

Các tham số được truyền cho các hàm trong JavaScript như thế nào?

Các tham số về cơ bản được truyền cho các hàm theo giá trị — vì vậy nếu mã trong phần thân của hàm sẽ gán một giá trị hoàn toàn mới cho một tham số .

Làm cách nào để chuyển hai đối số trong hàm JavaScript?

Khi bạn gọi một hàm trong JavaScript, bạn có thể chuyển vào bất kỳ số lượng đối số nào, bất kể khai báo hàm chỉ định điều gì . Không có giới hạn tham số chức năng. Trong hàm trên, nếu chúng ta truyền vào bao nhiêu đối số thì kết quả luôn giống nhau vì nó chỉ nhận 2 tham số đầu tiên.

Đối số trong JavaScript là gì?

Đối số là đối tượng cục bộ của hàm . Bạn có thể coi nó như một biến cục bộ có sẵn với tất cả các hàm theo mặc định ngoại trừ các hàm mũi tên trong JavaScript. Đối tượng này [đối số] được sử dụng để truy cập tham số được truyền cho hàm. Nó chỉ có sẵn trong một chức năng.

Chủ Đề