Maison > interface Web > js tutoriel > le corps du texte

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

coldplay.xixi
Libérer: 2020-07-14 17:49:49
avant
4014 Les gens l'ont consulté

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;
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!