ホームページ  >  記事  >  ウェブフロントエンド  >  JS は文字列と連結された変数の解析を定義します

JS は文字列と連結された変数の解析を定義します

coldplay.xixi
coldplay.xixi転載
2020-07-14 17:38:174010ブラウズ

JS は文字列と連結された変数の解析を定義します

今日 js を書いているときに問題が発生しました。大量の変数を生成する必要がある別のページがあります。ただし、変数の名前はパラメータによって異なります。

たとえば、date_1、date_2、datet_3... を生成する必要がある場合があります (次の数値はパラメーターに基づいています)。したがって、私の関数名は var name = "test_" num; によって生成されるはずですが、ここで問題が発生します。

関連する学習の推奨事項: JavaScript ビデオ チュートリアル

1 window[name] = " " をこのように使用できます変数を定義するには:

So var "test_" num = 100; これは明らかに間違っています。後で長兄に聞いて知りました。変数は window[name] = 100 を使用して定義できます。コードを見てください。

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

概要

ウィンドウで角括弧を使用して変数を定義する場合、角括弧内の内容は文字列である必要があります。それが変数の場合、変数を解析して特定の値を見つけます。

ドット構文との違いは、ドット構文に続く内容が定義する変数の名前です。変数かどうかなどは解析しません。例:

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

2 オブジェクト形式を使用します

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 配列形式を使用します

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

以上がJS は文字列と連結された変数の解析を定義しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。