2016-06-01 8 views
-3

일부 코드 행을 매개 변수로 전달하려고합니다. Javascript 함수 매개 변수로 전달

 function t_1() 
     { 
      var t6 = ''; 
      //// 
      t_2(d1,d2,d3) 
     } 

     function t_2(c1, c2, c3) 
     { 
      var t1 = 12; 
      if(t1 >12) 
      { 
       // some code here 
      } 

     } 

    </script> 

여기서 t_2() 함수의 조건이 정적 인 경우. 하지만 t_1()에서 전달할 수 있습니다. 마찬가지로 t_2()의 조건은 t_1()의 t6 값에 따라 다릅니다.

if 조건 코드 나 t2에서 실행될 수있는 t1의 동적 변수를 전달할 수 있습니까?

+1

변수 밖에서 변수를 선언 할 수 있습니까? 같은 var t6 = ''; t6 = 'something'과 같은 t_1 함수로 설정하십시오. –

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function –

+0

매개 변수로't6'을 전달할 수 있습니다. 't_2 (d1, d2, d3)'를 호출하고't2' 내부에서 사용합니다. – Shrabanee

답변

0

익명 함수를 만들어 인수로 전달할 수 있습니다.

function t1() 
{ 
    var x = 17; 
    var f = function(a) { return a > x; }; // value of x is captured here inside f 
    //       ^^^^^^ here is expression you can pass around 
    t2(f); 
} 

function t2(f) 
{ 
    var y = 4; 
    if(f(x)) { // -> if(f(4)) -> if(4>17) 
     ... 
    } 
} 
+0

감사합니다. –

-1

eval()이 가능한 해결책이 될 수 있습니다. 예 :

function t_1(){ 
    var a=5, b=10; 
    //make you statement a string, any type of statement can be made string 
    var c = "a+b"; 
    t_2(a,b,c); 

} 

function t_2(a,b,c){ 
    var res = eval(c); // here c can be any js statements in String form 
} 

eval()은 응용 프로그램이 해킹에 취약해질 수 있으므로주의해야합니다. 우리가 사용자로부터 입력을 받고있는 경우에는 매우 선택적으로 사용해야합니다.

관련 문제