Maison  >  Article  >  interface Web  >  JS définit l'analyse des variables concaténées avec des chaînes

JS définit l'analyse des variables concaténées avec des chaînes

coldplay.xixi
coldplay.xixiavant
2020-07-14 17:38:173928parcourir

JS définit l'analyse des variables concaténées avec des chaînes

J'ai rencontré un problème lors de l'écriture de js aujourd'hui. J'ai une autre page qui doit générer beaucoup de variables. Mais les noms des variables sont différenciés selon différents paramètres.

Par exemple, vous devrez peut-être générer date_1,date_2,datet_3... (les nombres suivants sont basés sur des paramètres). Donc mon nom de fonction devrait être généré par var name = "test_"+num; mais c'est là que vient le problème.

Recommandations d'apprentissage associées : Tutoriel vidéo javascript

1 Vous pouvez utiliser window[name] = " " de cette façon Pour définir des variables :

Donc var "test_"+num = 100; C'est définitivement faux. Je l'ai découvert plus tard après avoir demandé à mon frère aîné. Les variables peuvent être définies en utilisant window[name] = 100. Regardez le code

  function create_variable(num){
    var name = "test_"+num;  //生成函数名
    window[name] = 100;
    window['name'] = 200;  //注意看中括号里的内容加引号和不加引号的区别
  }
  create_variable(2);
  alert(test_2); // 100;
  alert(name); //200;

Résumé

Lorsque la fenêtre utilise des crochets pour définir des variables, le contenu entre crochets doit être une chaîne. S'il s'agit d'une variable, il analysera la variable pour trouver la valeur spécifique.

C'est la différence entre celle-ci et la syntaxe point. Le contenu qui suit la syntaxe point est le nom de la variable à définir. Il n'analysera pas s'il s'agit d'une variable ou autre. Par exemple,

  var name = "test"
  window.name = 200
  alert(name); // 200
  alert(test);  ReferenceError: test is not defined

2 est sous forme d'objet

var test = {};
  for(var i = 0; i < 3; i++){
    test[&#39;test_&#39;+i]=&#39;我是字符串&#39;+i;
 
    console.log(test[&#39;test_&#39;+i]); //输出:我是字符串0, 我是字符串1, 我是字符串2
  }
console.log(test_0); //输出:ReferenceError: test_0 is not defined
console.log(test[&#39;test_0&#39;]); //输出:我是字符串0

3 et est sous forme de tableau

var test = [];
  for(var i = 0; i < 3; i++){
    test[i]=&#39;我是字符串&#39;+i;
    console.log(test[i]); //输出:我是字符串0, 我是字符串1, 我是字符串2
  }
console.log(test[0]); //输出:我是字符串0

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer