2012-03-16 2 views
0

저는 초보자 인 Javascript입니다. 변수 이름을 사용하여 객체 함수에 액세스하려고 시도했지만 오류가 발생했습니다. 어떤 사람이 나에게 내가 여기서 뭘하고 있는지 정정 할 수 있다면 이것은 단지 더미 코드 일 뿐이다. 최선의 방법은 무엇인가? // 유래 : 당신은 누구의 이름이 변수에이 속성을 액세스 할 때변수 이름을 사용하여 개체 기능에 액세스 할 수 없습니까?

<html> 
    <head> 
     <title>Pub/Sub Test</title> 
    </head> 
    <body> 
     <div id="wrap1" data-components="tooltip"> 
      <p><h1>pubsubz Test</h1> 
      <p>Run with Firebug or a console simulator open.</p></p> 
     </div> 
     <div id="wrap2" data-components="tooltip"> 
      <p><h1>pubsubz Test</h1> 
      <p>Run with Firebug or a console simulator open.</p></p> 
     </div> 
     <div id="wrap3" data-components="tooltip"> 
      <p><h1>pubsubz Test</h1> 
      <p>Run with Firebug or a console simulator open.</p></p> 
     </div> 

     <script type="text/javascript" src="jquery-1.6.4.min.js"></script> 

     <script> 
      var r=r||{}; 
      (function(tooltip,$,w,d,undefined){ 
       var pos, 
       attr="data-options", 
       defaultSetting = { 
        horizontal : true, 
        vertical : "above" 
       }; 
       tooltip.init = function($el){ 
        alert("hello"); 
       } 
      })(r.tooltip = r.tooltip || {},jQuery,window,document); 

      (function(r,$){ 
       var els = { 
        $body : $('body') 
       }; 
       // identify modules 
       var $modules = els.$body.find('[data-components]'); 
       // create queue from modules 
       $modules.each(function(i,v){ 
        var $module=$(this).data('components'); //value = tooltip 
        //want to excute r.tooltip.init() function but there is some error - $module contain value tooltip 
        r.$module.init(); 
       }); 
      })(r=r||{},jQuery); 
     </script> 
    </body> 
</html> 
+0

가능한 중복입니다. com/questions/1567278/use-javascript-variable-in-object-name) 또는 [javascript object, access variable property name?] (http://stackoverflow.com/questions/4255472/javascript-object-access-variable- property-name) 또는 [javascript 객체 속성의 일부로 변수 사용] (http://stackoverflow.com/questions/4773897/using-a-variable-as-part-of-a-javascript-object-property) 동적 값은 – Matt

+0

수 없습니다. Jon이 말한대로 점 표기법으로 속성에 액세스하고 속성에 액세스하십시오. – Ehtesham

답변

5

, 올바른 양식은 [사용 개체 이름에서 자바 스크립트 변수] (HTTP의

r[$module].init(); 
+0

고맙습니다 ... 네, 그 일 :) ... 고마워요. – Nidhi

관련 문제