JS는 문자열로 결합된 변수를 어떻게 정의합니까

오늘 js를 쓸 때 어려운 문제에 부딪혔습니다. 저는 또 하나의 페이지에서 많은 변수를 생성해야 합니다.그러나 변수의 이름은 매개 변수에 따라 구분된다.
예를 들어 date_를 생성해야 할 수도 있습니다1,date_2,datet_삼...(뒤에 있는 숫자는 매개 변수에 근거한 것이다.)그래서 제 함수 이름은 var name = "test_"+num; 함수 이름을 만들었는데 문제가 생겼어요.
1 윈도우 [name] = ""로 변수를 정의할 수 있습니다.
그래서 var'test_'+num = 100; 이것은 틀림없이 잘못된 것이다.나중에 형님한테 물어보고 알았어요.윈도우 [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['test_'+i]=' '+i;
 
    console.log(test['test_'+i]); // : 0,  1,  2
  }
console.log(test_0); // :ReferenceError: test_0 is not defined
console.log(test['test_0']); // : 0
3 수조의 형식으로

var test = [];
  for(var i = 0; i < 3; i++){
    test[i]=' '+i;
    console.log(test[i]); // : 0,  1,  2
  }
console.log(test[0]); // : 0
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기