Hướng dẫn what is call by value and call by reference javascript? - gọi theo giá trị và gọi bằng javascript tham chiếu là gì?

Gọi theo giá trị: Giả sử có một biến có tên là A A. Bây giờ, chúng tôi lưu trữ một giá trị nguyên thủy [Boolean, Integer, Float, v.v.] trong biến A A A. Suppose there is a variable named “a”. Now, we store a primitive value[boolean, integer, float, etc] in the variable “a”.

Hãy để chúng tôi lưu trữ một giá trị số nguyên trong một cách khác, hãy để a = 5. Bây giờ, biến số A A A ANTERS 5 và có một vị trí địa chỉ nơi giá trị nguyên thủy đó nằm trong bộ nhớ.“a”, Let a=5. Now the variable “a” stores 5 and has an address location where that primitive value sits in memory.

Bây giờ, giả sử chúng tôi sao chép giá trị của một người khác trong B By Biên bằng cách gán [a = b]. Bây giờ, B B Biêu chỉ vào một vị trí mới trong bộ nhớ, chứa cùng một dữ liệu với biến số A A.“a” in “b” by assignment [a=b]. Now, “b” points to a new location in memory, containing the same data as variable “a”.

Do đó, a = b = 5 nhưng cả hai điểm đến các vị trí riêng biệt trong bộ nhớ.

Cách tiếp cận này được gọi là cuộc gọi theo giá trị trong đó 2 biến trở nên giống nhau bằng cách sao chép giá trị nhưng trong 2 điểm riêng biệt trong bộ nhớ.call by value where 2 variables become the same by copying the value but in 2 separate spots in the memory.

Các tính năng của cuộc gọi theo giá trị:

  • Đối số chức năng luôn được truyền bởi giá trị.
  • Nó sao chép giá trị của một biến được truyền trong một hàm cho một biến cục bộ.
  • Cả hai biến này chiếm các vị trí riêng biệt trong bộ nhớ. Do đó, nếu các thay đổi được thực hiện trong một biến cụ thể, nó không ảnh hưởng đến biến khác.

Example:

JavaScript

    var a = 5;

    var b;

    "text/javascript"0

    "text/javascript"2

    "text/javascript"4

    "text/javascript"6

"text/javascript"7

Đầu ra: Một lần nữa là một bản sao của A A. Nó có không gian riêng trong bộ nhớ. Khi chúng tôi thay đổi, một người khác, nó không có bất kỳ tác động nào đến giá trị của B B B. & NBSP;was just a copy of “a”. It has its own space in memory. When we change “a” it does not have any impact on the value of “b”

Theo giá trị

Gọi bằng cách tham khảo: Hãy nói, chúng tôi có một đối tượng được lưu trữ trong biến A A A. Biến lưu trữ vị trí hoặc địa chỉ nơi đối tượng sống. Bây giờ chúng tôi đặt b = a. Bây giờ, biến mới của Bỉ, thay vì chỉ vào một vị trí mới trong bộ nhớ, chỉ vào cùng một vị trí nơi mà A A làm việc. Không có đối tượng mới được tạo, không có bản sao được tạo. Cả hai biến chỉ vào cùng một đối tượng. Điều này giống như có 2 tên. Let’s say, we have an object stored in the variable “a”. The variable stores the location or the address where the object lives. Now we set b=a. Now that new variable “b” instead of pointing to a new location in the memory, points to the same location where “a” does. No new object is created, no copy is created. Both the variables point to the same object. This is like having 2 names.

Đây là cuộc gọi bằng cách tham khảo. Nó hành xử hoàn toàn khác với giá trị. Tất cả các đối tượng tương tác bằng cách tham chiếu. call by reference. It behaves quite differently from by value. All objects interact by reference.

Các tính năng của tài liệu tham khảo:

  • Trong JavaScript, tất cả các đối tượng tương tác bằng tham chiếu.
  • Nếu một đối tượng được lưu trữ trong một biến và biến đó được tạo bằng với một biến khác thì cả hai đều chiếm cùng một vị trí trong bộ nhớ.
  • Thay đổi trong một biến đối tượng ảnh hưởng đến biến đối tượng khác.

Ví dụ: Ở đây, khi chúng ta đặt D = C, thì D D đã chỉ vào cùng một vị trí trong bộ nhớ trong đó, C C C. Lúc đầu, chúng tôi có một cặp giá trị tên được lưu trữ trong C C C. Bây giờ khi chúng ta thay đổi một thuộc tính bằng cách sử dụng C C, nó sẽ thay đổi thuộc tính trong D D D, vì cả hai đều chỉ vào cùng một đối tượng. Thay đổi trong một nó ảnh hưởng.Over here, when we set d=c, “d” points to the same location in memory where “c” does. At first, we have a name-value pair stored in “c”. Now when we change a property using “c”, it changes the property in “d” also because both point to the same object. Changes in one it affects.

JavaScript

"text/javascript"8

    var >1>2 >3

    var >6

    >8

        0    1    2

        4

        6

"text/javascript"7

Output:

Đầu ra: Một lần nữa là một bản sao của A A. Nó có không gian riêng trong bộ nhớ. Khi chúng tôi thay đổi, một người khác, nó không có bất kỳ tác động nào đến giá trị của B B B. & NBSP;

Theo giá trị

Gọi bằng cách tham khảo: Hãy nói, chúng tôi có một đối tượng được lưu trữ trong biến A A A. Biến lưu trữ vị trí hoặc địa chỉ nơi đối tượng sống. Bây giờ chúng tôi đặt b = a. Bây giờ, biến mới của Bỉ, thay vì chỉ vào một vị trí mới trong bộ nhớ, chỉ vào cùng một vị trí nơi mà A A làm việc. Không có đối tượng mới được tạo, không có bản sao được tạo. Cả hai biến chỉ vào cùng một đối tượng. Điều này giống như có 2 tên.

Đây là cuộc gọi bằng cách tham khảo. Nó hành xử hoàn toàn khác với giá trị. Tất cả các đối tượng tương tác bằng cách tham chiếu.

Các tính năng của tài liệu tham khảo:Trong JavaScript, tất cả các đối tượng tương tác bằng tham chiếu.
Nếu một đối tượng được lưu trữ trong một biến và biến đó được tạo bằng với một biến khác thì cả hai đều chiếm cùng một vị trí trong bộ nhớ.Thay đổi trong một biến đối tượng ảnh hưởng đến biến đối tượng khác.
Ví dụ: Ở đây, khi chúng ta đặt D = C, thì D D đã chỉ vào cùng một vị trí trong bộ nhớ trong đó, C C C. Lúc đầu, chúng tôi có một cặp giá trị tên được lưu trữ trong C C C. Bây giờ khi chúng ta thay đổi một thuộc tính bằng cách sử dụng C C, nó sẽ thay đổi thuộc tính trong D D D, vì cả hai đều chỉ vào cùng một đối tượng. Thay đổi trong một nó ảnh hưởng.JavaScript

Cuộc gọi theo giá trị và cuộc gọi bằng cách tham khảo là gì?

Gọi theo giá trị. Gọi bằng cách tham khảo. Trong khi gọi một hàm, chúng tôi truyền các giá trị của các biến cho nó. Các chức năng như vậy được gọi là cuộc gọi của các giá trị. Trong khi gọi một hàm, thay vì truyền các giá trị của các biến, chúng tôi chuyển địa chỉ của các biến [vị trí của các biến] cho hàm được gọi là cuộc gọi của các tài liệu tham khảo.While calling a function, we pass values of variables to it. Such functions are known as “Call By Values”. While calling a function, instead of passing the values of variables, we pass address of variables[location of variables] to the function known as “Call By References.

Cuộc gọi bằng cách tham khảo và ví dụ là gì?

Cuộc gọi bằng phương thức tham chiếu chuyển các đối số đến một hàm sao chép địa chỉ của một đối số vào tham số chính thức.Bên trong hàm, địa chỉ được sử dụng để truy cập đối số thực tế được sử dụng trong cuộc gọi.Nó có nghĩa là những thay đổi được thực hiện cho tham số ảnh hưởng đến đối số được thông qua.copies the address of an argument into the formal parameter. Inside the function, the address is used to access the actual argument used in the call. It means the changes made to the parameter affect the passed argument.

Sự khác biệt giữa truyền qua giá trị và truyền qua tham chiếu trong JavaScript là gì?

Trong giá trị Pass-By trong JavaScript, một bản sao của biến gốc được tạo, do đó, bất kỳ thay đổi nào được thực hiện đối với biến được sao chép không ảnh hưởng đến biến ban đầu.Trong tài liệu tham khảo qua JavaScript, chúng tôi vượt qua tham chiếu của tham số thực tế.Không có bản sao nào được tạo trong bộ nhớ.

Tham khảo javascript là gì?

Trong JavaScript, không giống như trong hầu hết các ngôn ngữ lập trình phổ biến khác, các tài liệu tham khảo là con trỏ đến các giá trị được lưu trữ trong các biến và không phải là gợi ý cho các biến khác hoặc tài liệu tham khảo.pointers to values stored in variables and NOT pointers to other variables, or references.

Bài Viết Liên Quan

Chủ Đề