Trong JavaScript, không có tiêu chuẩn để tạo 'Đối tượng chính' hoặc bất kỳ phương pháp tích hợp nào để truy cập các biến trên phạm vi ban đầu với tham chiếu chuỗi mà tôi biết.
Tuy nhiên, nếu bạn đang sử dụng JavaScript để phát triển web trên trình duyệt, đối tượng window
sẽ cấp cho bạn quyền truy cập đầy đủ vào phạm vi hiện tại của bạn. Ví dụ:
myVar = "This is my var";
if(myVar == window.myVar){
/*
This statement would return true
Because both variables reference
the same string;
*/
}
Phương pháp này sẽ cho phép bạn để tham khảo bất kỳ phạm vi biến KHÔNG làm cho nó một chuỗi, nhưng bạn cũng có thể sử dụng một chuỗi khi cần thiết với khung ([]
) Selectors.
window['myVar']
Điều đáng nói rằng giữ dữ liệu như là một biến trực tiếp trên phạm vi hiện lá nó mở được tái định nghĩa bởi các kịch bản khác chạy. Biến của bạn có thể được ghi đè bằng tên đối số hàm, cho biến vòng lặp và chỉ đơn giản bằng cách gán giá trị mới cho biến đó.
Để khắc phục điều này, tôi đề nghị sử dụng một đối tượng để lưu trữ tất cả dữ liệu liên quan đến ứng dụng của bạn (tĩnh và/hoặc OOP). Như thế này:
$myApp = {
var1 : 'This is Var1',
apply : function(){
alert('Started!');
}
}
//Referencing relative variables
alert($myApp.var1);
Nguồn
2013-11-02 15:51:29
Xem: http: // stackoverflow.com/questions/724857/how-to-find-javascript-variable-by-its-name –