傳遞函數作爲參數我有希望作爲參數傳遞在一個單獨的函數
function myFun(){
}
function myFunParam(myFun){
}
是上面的代碼正確的功能?如何在myFunParam
內調用功能myFun
?
傳遞函數作爲參數我有希望作爲參數傳遞在一個單獨的函數
function myFun(){
}
function myFunParam(myFun){
}
是上面的代碼正確的功能?如何在myFunParam
內調用功能myFun
?
function myFun(){
}
function myFunParam(myFun){
if ($.isFunction(myFun)){
//Added example of passing arguments to myFun
myFun.apply(this, ['arg1', 'arg2', 'arg3']);
}
}
您還可以通過匿名函數,
myFunParam(function(){
alert('anonymous function');
});
function myFun(){
alert('test');
}
function myFunParam(myFun){
if (typeof myFun === "function")
myFun(); // alerts "test"
}
如果你的功能,需要一個自變量,你會怎麼做:
function myFun(myarg){
alert(myarg);
}
function myFunParam(myFun){
if (typeof myFun === "function")
myFun('foo'); // alerts "foo"
}
或者你也可以通過任意數量的參數使用arguments
對象(實際上是一個類似數組的對象)。
如果有什麼功能myFun有一個參數也? – user701254
@ user701254:這已經在我的答案中提到過了,參數也意味着這裏的參數:)見第二個例子。 – Sarfraz
這是正確的,但我肯定會重新命名的參數,以避免全球myFun和參數之間的混淆:
function myFunParam(func) {
func(); // call function
}
你的代碼是正確的。你需要這樣調用:
function myFun(){
}
function myFunParam(myFun){
// Other Statements
myFun();
}
希望它有幫助! :)
或者你可以做到這樣也
var newFunction = function() {
alert("I am in newFunction");
}
function calleFunction(func) {
func();
}
calleFunction(newFunction);
function outerFunction(innerFunction) {
innerFunction(); // call inner function
}
非常乾淨的方法+1 – skafandri
新增傳遞參數給myFun的例子,必須經過審查 – Onkelborg