>  기사  >  웹 프론트엔드  >  JS는 문자열과 연결된 변수의 구문 분석을 정의합니다.

JS는 문자열과 연결된 변수의 구문 분석을 정의합니다.

coldplay.xixi
coldplay.xixi앞으로
2020-07-14 17:38:173928검색

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는 object

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 형식이고 array

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제