2008-09-29 16 views
11

में किसी अन्य फ़ंक्शन में फ़ंक्शन पास करना मेरे पास एक फ़ंक्शन है जो एक तर्क के रूप में किसी अन्य फ़ंक्शन में सरणी पास करता है, इस सरणी में कई डेटा प्रकार होंगे लेकिन मैं जानना चाहता हूं कि फ़ंक्शन या संदर्भ को कैसे पास किया जाए एक फ़ंक्शन ताकि अन्य फ़ंक्शन इसे किसी भी समय कॉल कर सके।एक्शनस्क्रिप्ट 3

पूर्व।

समारोह एक:

add(new Array("hello", some function)); 

समारोह बी:

public function b(args:Array) { 
    var myString = args[0]; 
    var myFunc = args[1]; 
} 

उत्तर

6

यह ActionScript में बहुत आसान है:

function someFunction(foo, bar) { 
    ... 
} 

function a() { 
    b(["hello", someFunction]); 
} 

function b(args:Array) { 
    var myFunc:Function = args[1]; 
    myFunc(123, "helloworld"); 
} 
28

सीधे शब्दों में समारोह नाम एक तर्क के रूप, कोई बस गुजरती हैं, एएस 2 या जावास्क्रिप्ट की तरह?

function functionToPass() 
{ 
} 

function otherFunction(f:Function) 
{ 
    // passed-in function available here 
    f(); 
} 

otherFunction(functionToPass); 
2

आप निम्न कर सकते हैं:

add(["string", function():void 
{ 
trace('Code...'); 
}]); 

... या ...

... 
add(["string", someFunction]); 
... 

private function someFunction():void 
{ 
trace('Code...'); 
} 
संबंधित मुद्दे