[英]Javascript Function Passing in as parameter
我想传递一些代码行作为参数。
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
条件代码或从t1可以在T2中执行任何动态变量?
您可以创建匿名函数并将其作为参数传递。
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)
...
}
}
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() 应高度谨慎地使用,因为它会使我们的应用程序容易受到黑客攻击。 在我们从用户那里获得输入的情况下,应该非常有选择地使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.