2013-05-21 28 views
0

我对JavaScript非常陌生,所以请耐心等待。安全性:在JavaScript中传递函数作为参数

我在想,如果你将一个函数作为参数传递给JavaScript中的另一个功能,例如(声明:该代码可能不是100%正确,但你应该明白了吧!):

function(param1, param2) { 

    .... 
    // Do something with param 1 
    param1 += 10; 
    .... 

    // Param 2 is a function, so call it 
    param2(); 

    ..... 
} 

这是一个潜在的安全风险,或者这是一种常用的JavaScript编程方式吗?

谢谢。

回答

2

在JavaScript中,功能是头等公民。您可以将函数分配给var,将函数作为arguments传递给其他函数或return作为另一函数的结果函数。

JavaScript中有许多方法接受函数作为参数(也称为回调函数)。 就是这样一个例子的forEach

Array.prototype.forEach(); 

var elements = [42, 33, 45, 5]; 

elements.forEach(/*anonymous function*/function(element, index) { 
// do something with element 
}); 

elements.forEach(callback); 

function callback(element, index) { 
//do something with element 
} 
+0

所以这样做没有安全问题? – Mewzer

+1

@Mewzer只记得当你传递一个函数作为参数时忽略括号'()',因为你只是将函数引用传递给新函数而不是调用它 –

相关问题