Hướng dẫn pass global variable to function javascript - chuyển biến toàn cục cho hàm javascript
Làm thế nào mà mã sau là cho tôi 0 thay vì 1? Tôi muốn chức năng của mình thay đổi một biến được khai báo bên ngoài hàm nhưng tôi không muốn chỉ định biến trong khai báo chức năng. Show
Hỏi ngày 12 tháng 8 năm 2013 lúc 2:21Aug 12, 2013 at 2:21
1 Như được trả lời bởi Oriol, nó không hoạt động vì biến được truyền theo giá trị, vì vậy bạn không thay đổi biến "đó". Một cách giải quyết sẽ là để vượt qua tên biến:
Đã trả lời ngày 12 tháng 8 năm 2013 lúc 2:28Aug 12, 2013 at 2:28
Phil-RPhil-RPhil-R 2.19317 Huy hiệu bạc21 Huy hiệu đồng17 silver badges21 bronze badges 2 Đó là bởi vì bạn đang chuyển biến theo giá trị, không phải bằng tham chiếu. Trong JavaScript, tất cả các biến được truyền theo giá trị, ngoại trừ các đối tượng, được truyền bằng tham chiếu (cũng vậy, chúng cũng được truyền bởi giá trị nhưng chúng là một tài liệu tham khảo, xem bên dưới). Và bạn không thể thay đổi hành vi đó. Chỉnh sửa: Nếu bạn không biết có nghĩa là đi qua giá trị/tham chiếu nào, bạn nên đọc hướng dẫn. Nhưng ở đây bạn có một số ví dụ: If you don't know what passing by value/reference means, you should read a tutorial. But here you have some examples:
Trong trường hợp của bạn Bạn có thể làm
Lưu ý rằng bạn không thể làm
Đã trả lời ngày 12 tháng 8 năm 2013 lúc 2:22Aug 12, 2013 at 2:22
OrioloriolOriol 260K58 Huy hiệu vàng414 Huy hiệu bạc494 Huy hiệu đồng58 gold badges414 silver badges494 bronze badges 2 Điều này có liên quan đến con trỏ, phạm vi, vượt qua các biến bằng cách tham khảo và tất cả những gì nhạc jazz đó. Nếu bạn thực sự muốn làm điều này, bạn có thể vượt qua một đối tượng trong JavaScript như thế này:
Tất cả những gì chúng tôi đã thực hiện được thực hiện rằng một đối tượng theo định nghĩa được truyền như một tài liệu tham khảo trong JavaScript. Sau đó, chúng tôi chỉ đảm bảo rằng chúng tôi sửa đổi đúng các thuộc tính của đối tượng.that an object which is by definition passed as a reference in Javascript. Then we just make sure we properly modify the object's attributes. Đã trả lời ngày 12 tháng 8 năm 2013 lúc 2:26Aug 12, 2013 at 2:26
Ma cua ban that = 0; //Global variable function go(input) { //input is argument and is not passed by reference input++; //This just increments a local copy i.e 0 } go(that); //Passed 0 console.log(that); Thay vào đó làm điều này that = 0; function go() { that++; } go(); //Not passing any variable .. function can already see the gloabl "that" console.log(that); // This will print gloabl i.e. 1 Đã trả lời ngày 12 tháng 8 năm 2013 lúc 2:29Aug 12, 2013 at 2:29
gâu meo gâu meowoofmeow 2.29015 Huy hiệu bạc12 Huy hiệu đồng15 silver badges12 bronze badges 1 Trên thực tế, bạn chỉ có thể thêm 1 bên trong chức năng và nó sẽ hoạt động tốt.Nêu tôi sai vui long chân chỉnh tôi. Hy vọng tôi đã giúp đỡ !! Tôi sẽ rất vui nếu ai đó có thể giải thích tại sao tôi sai Đã trả lời ngày 13 tháng 12 năm 2019 lúc 11:44Dec 13, 2019 at 11:44
0 Chức năng JavaScript có thể truy cập các biến toàn cầu không?Các biến toàn cầu có thể được truy cập từ bất cứ đâu trong chương trình JavaScript.Các biến được khai báo với VAR, LET và Const khá giống nhau khi được khai báo bên ngoài một khối.. Variables declared with var , let and const are quite similar when declared outside a block.
Làm thế nào để bạn chuyển một giá trị từ một hàm sang một biến JavaScript biến toàn cầu?Trong trường hợp của bạn.. Biến biến của bạn thành thuộc tính của một đối tượng (trong trường hợp của bạn, vì đó là biến toàn cầu, sử dụng cửa sổ) và chuyển đối tượng (tham chiếu), để bạn có thể thay đổi cửa sổ.rằng = 0;Hàm Go (obj) {obj..... Sử dụng giá trị trả về var đó = 0;hàm go (đầu vào) {return input ++;} điều đó = đi (đó);Bảng điều khiển .. Bạn có thể truyền trong một biến trong một hàm javascript không?Trong JavaScript vượt qua giá trị, hàm được gọi bằng cách truyền trực tiếp giá trị của biến làm đối số.Do đó, ngay cả việc thay đổi đối số bên trong hàm cũng không ảnh hưởng đến biến được truyền từ bên ngoài hàm.. Therefore, even changing the argument inside the function doesn't affect the variable passed from outside the function.
Các biến toàn cầu có hoạt động trong các chức năng không?Các biến toàn cầu có thể được sử dụng bởi tất cả mọi người, cả bên trong các chức năng và bên ngoài.. |