Hướng dẫn how to pass dynamic variable in javascript? - làm thế nào để vượt qua biến động trong javascript?

2019

TL;DR

  • Toán tử eval có thể chạy biểu thức chuỗi trong ngữ cảnh mà nó gọi và trả về các biến từ ngữ cảnh đó;
  • literal object Về mặt lý thuyết có thể làm điều đó bằng cách viết: ________ 4, nhưng nó bị chặn theo định nghĩa.

Vì vậy, tôi bắt gặp câu hỏi này và mọi người ở đây chỉ chơi xung quanh mà không mang lại một giải pháp thực sự. Nhưng @axel Heider có một cách tiếp cận tốt.

Giải pháp là eval. Hầu hết các toán tử bị lãng quên nhất. (nghĩ rằng hầu hết một là with())

Toán tử eval có thể tự động chạy biểu thức trong ngữ cảnh mà nó gọi. và trả về kết quả của biểu thức đó. Chúng ta có thể sử dụng điều đó để tự động trả về giá trị của một biến trong bối cảnh của chức năng.

example:

function exmaple1(){
   var a = 1, b = 2, default = 3;
   var name = 'a';
   return eval(name)
}

example1() // return 1


function example2(option){
  var a = 1, b = 2, defaultValue = 3;

  switch(option){
    case 'a': name = 'a'; break;
    case 'b': name = 'b'; break;
    default: name = 'defaultValue';
  }
  return eval (name);
}

example2('a') // return 1
example2('b') // return 2
example2() // return 3

Lưu ý rằng tôi luôn viết rõ ràng biểu thức eval sẽ chạy. Để tránh những bất ngờ không cần thiết trong mã. eval rất mạnh nhưng tôi chắc chắn bạn đã biết điều đó đã But I'm sure you know that already

BTW, nếu đó là hợp pháp, chúng ta có thể sử dụng literal object để nắm bắt tên và giá trị biến, nhưng chúng ta có thể kết hợp tên tài sản được tính toán và giá trị tài sản, thật đáng buồn,

functopn example( varName ){
    var var1 = 'foo', var2 ='bar'

    var capture = {[varName]}

}

example('var1') //trow 'Uncaught SyntaxError: Unexpected token }`

Trong JavaScript, tên biến động hiếm khi được sử dụng để cập nhật tên của các biến trong các chương trình. Biến động không được gán bằng cách cung cấp bất kỳ giá trị nào. Giá trị của nó được thay đổi/cập nhật động. Chiến lược này có tầm quan trọng riêng trong lập trình nâng cao hoặc phức tạp để thực hiện các vấn đề trong thế giới thực.

Giống như ngôn ngữ PHP, JavaScript phải đối mặt với khó thực hiện các tên biến động. Tuy nhiên, đầu ra tương tự có thể đạt được thông qua nhiều chiến lược. Bây giờ, người dùng không cần mã cứng tên biến cho mục đích động. Hai chiến lược tự động được tạo ra được giới thiệu, trong đó tự động sửa đổi các tên biến trong quá trình thực hiện một chương trình được gọi là eval () và đối tượng cửa sổ.eval() and window object.

Trong bài đăng này, một tổng quan được chứng minh được cung cấp về cách sử dụng tên biến động trong JavaScript. Kết quả của bài đăng này được liệt kê dưới đây:

  • Sử dụng phương thức Eval () cho tên biến động
  • Sử dụng đối tượng cửa sổ cho tên biến động

Phương pháp 1: Sử dụng phương thức eval () cho tên biến động

Tên biến động có nghĩa là tên của các biến được sửa đổi ngẫu nhiên hoặc được xác định bởi người dùng. Phương thức Eval () được sử dụng cụ thể để đánh giá mã JavaScript theo định dạng chuỗi. Phương thức lấy một chuỗi làm đầu vào ở định dạng của biểu thức JavaScript. Sau đó, phương pháp đánh giá biểu thức trong JavaScript. Các nhà phát triển sử dụng vòng lặp For để cập nhật động nhiều tên biến với phương thức eval ().

Thí dụ

Một ví dụ được cung cấp để thực hiện phương thức eval () cho các tên biến động. Mã là như dưới đây.eval() method for dynamic variable names. The code is as below.

Mã số

Console.log ('một ví dụ để thực hiện phương thức eval ()');log('An example to implement eval() method');

var a = 'Chào mừng bạn đến với JavaScript';= 'Welcome to JavaScript';

var b = 'a';= 'a';

Console.log (eval (b));log(eval(b));

Mô tả của mã như sau:

Trong mã này, phương thức eval () được sử dụng để cập nhật động tên biến từ a đến b. Phương thức Console.log () được sử dụng để có được các giá trị cụ thể.eval() method is utilized to dynamically update the variable name from a to b. The console.log() method is used to get the specific values.

Hướng dẫn how to pass dynamic variable in javascript? - làm thế nào để vượt qua biến động trong javascript?

Đầu ra

Hướng dẫn how to pass dynamic variable in javascript? - làm thế nào để vượt qua biến động trong javascript?

Đầu ra trả về mã thực thi ở trên và hiển thị tên biến động với phương thức eval () trong javascript.eval() method in JavaScript.

Phương pháp 2: Sử dụng đối tượng cửa sổ cho tên biến động

Trong JavaScript, một đối tượng cửa sổ về cơ bản là một đối tượng toàn cầu. Đối tượng có thể truy cập bất kỳ phương thức hoặc biến toàn cầu trong mã JavaScript. Hơn nữa, người dùng có thể tạo biến động với sự trợ giúp của chuỗi được định dạng. Đối tượng cửa sổ được sử dụng để truy cập các biến hoặc hàm toàn cầu trong mã JavaScript. Chiến lược này rất quan trọng nếu người dùng tạo một biến toàn cầu.

Thí dụ

Mã được viết bên dưới để triển khai đối tượng cửa sổ cho các tên biến động trong JavaScript.

Mã số

Console.log ('Một ví dụ khác để thực hiện phương thức đối tượng cửa sổ');log('Another example to implement window object method');

var n1 = 1,= 1,

n2 = 2,= 2,

n3 = 3;= 3;

var x1 = window.n1;= window.n1;

var x2 = window ['n1'];= window['n1'];

Console.log ("Chào mừng đến với JavaScript");log("Welcome to JavaScript");

Console.log (x1);log(x1);

Console.log ("Chào mừng đến với JavaScript World");log("Welcome to JavaScript World");

Console.log (x2);log(x2);

Mô tả của mã trên được liệt kê ở đây.

  • Biến N1 được khởi tạo với 1.n1 is initialized with 1.
  • Sau đó, gán giá trị của N1 cho X1 bằng toán tử DOT, chẳng hạn như đối tượng Window.N1.n1 to x1 using the dot operator, such as a window.n1 object.
  • Tương tự, truy cập giá trị của N2 đến X2 bằng khung vuông [].n2 to x2 using the square bracket [ ].
  • Cuối cùng, thực thi mã để hiển thị tên biến động trong JavaScript.

Đầu ra

Hướng dẫn how to pass dynamic variable in javascript? - làm thế nào để vượt qua biến động trong javascript?

Đầu ra cho thấy các tên biến động x1 và x2 được sử dụng bằng cách sử dụng đối tượng cửa sổ trong JavaScript.x1 and x2 are utilized by employing the window object in JavaScript.

Sự kết luận

Hai chiến lược, phương thức eval () và đối tượng cửa sổ, được sử dụng để sử dụng tên biến động trong javascript. Phương thức Eval () lấy một chuỗi các biểu thức JavaScript làm đầu vào và đánh giá chúng. Đối tượng cửa sổ được sử dụng để truy cập bất kỳ phương thức và biến toàn cầu nào để cập nhật động các tên biến. Bạn đã học được ở đây để sử dụng tên biến động bằng JavaScript. Để hiểu biết thêm, chúng tôi đã cung cấp một tập hợp các ví dụ để thực hiện vấn đề bằng cách làm sau Eval () và chiến lược đối tượng cửa sổ trong JavaScript.eval() method and window object, are employed to use dynamic variable names in JavaScript. The eval() method takes a string of JavaScript expressions as input and evaluates them. The window object is utilized to access any method and global variables for dynamically updating the variable names. You have learned here to use dynamic variable names using JavaScript. For further understanding, we have provided a set of examples to implement the problem by following eval() and the window object strategy in JavaScript.

Thông tin về các Tác giả

Hướng dẫn how to pass dynamic variable in javascript? - làm thế nào để vượt qua biến động trong javascript?

Tôi có bằng thạc sĩ về khoa học máy tính và làm việc như một nhà nghiên cứu học thuật. Tôi háo hức đọc về các công nghệ mới và chia sẻ chúng với phần còn lại của thế giới.

Tôi có thể tạo biến động trong JavaScript không?

Phương thức JavaScript đơn giản nhất để tạo các biến động là tạo một mảng. Trong JavaScript, chúng ta có thể xác định mảng động mà không cần xác định độ dài của nó và sử dụng nó làm bản đồ. Chúng ta có thể ánh xạ giá trị bằng khóa bằng một mảng và cũng truy cập giá trị bằng cách sử dụng khóa.create an array. In JavaScript, we can define the dynamic array without defining its length and use it as Map. We can map the value with the key using an array and also access the value using a key.

Một biến động trong JavaScript là gì?

Các biến động tính toán các giá trị của riêng chúng bằng cách thực thi các câu lệnh và biểu thức logic.Một biến động gán bản thân kết quả của tính toán hoặc hoạt động.Các loại biến động là chuỗi động, số động và đúng thật/sai (boolean).compute their own values by executing statements and logical expressions. A dynamic variable assigns itself the result of a calculation or operation. The dynamic variable types are dynamic string, dynamic number, and dynamic True/False (Boolean).

Làm cách nào để tạo một biến động trong TypeScript?

Cách gán các thuộc tính tự động cho một đối tượng trong TypeScript..
Giải pháp 1: Nhập rõ ràng đối tượng tại thời điểm khai báo ..
Giải pháp 2: Sử dụng chữ ký chỉ mục đối tượng ..
Giải pháp 3: Sử dụng loại tiện ích bản ghi ..

Làm thế nào để bạn kết hợp một tên biến trong JavaScript?

Trong JavaScript, chúng ta có thể gán các chuỗi cho một biến và sử dụng kết hợp để kết hợp biến với chuỗi khác.Để kết hợp một chuỗi, bạn thêm một dấu cộng+ giữa các chuỗi hoặc biến chuỗi bạn muốn kết nối.Hãy để mypet = 'cá ngựa';Bảng điều khiển.add a plus sign+ between the strings or string variables you want to connect. let myPet = 'seahorse'; console.