调用动态传递给JavaScript的参数
Invoking dynamically passed arguments to a JavaScript
我有以下功能:
function foo(f, k) {
if (f.length > 2) {
// how do I access the third element of f?
// it can be a function retry() or undefined.
// var retry = f.arguments[2]; ??
// retry();
// console.log(f.arguments) returns undefined
} else {
k();
}
}
var retry = function() { console.log("hi"); };
foo(function(x, y) { console.log(x+y); },
function() { console.log("hello"); });
foo(function(x, y, retry) { console.log("retry present"); },
function() { console.log("hello"); });
如果第三个参数被传入,我需要调用它。我可能有2
或3
参数被传递给f
。如果第三个论点存在,我该如何访问它?
您可以尝试以下操作:
编辑1
根据@Bergi的评论更新代码
function print(b) {
return (b);
}
function notify(a, b) {
var args = arguments;
var params = args[0].toString().split("(")[1].split(")")[0].split(",");
if(params[2]){
console.log(eval(params[2])(b))
}
}
(function () {
var a = 10,
b = 20;
notify(function (a, b, print) {}, b);
})()
相关文章:
- 用于回调的javascript参数
- 我不能使用变量作为javascript参数
- Ajax.ActionLink-传递javascript参数
- 需要Javascript参数帮助
- NS_ERROR_XPC_BAD_CONVERT_JS:无法转换JavaScript参数arg 0[nsIDOMWind
- JavaScript参数验证
- 变量与表达式作为Javascript参数
- JavaScript参数对象不起作用
- 带有javascript参数的ASPNET MVC RenderAction
- IE JavaScript参数和填充输入字段
- 传递Javascript参数并分配给变量
- Jquery函数中提供Javascript参数
- 使用Play动态更改Javascript参数
- 函数中的 JavaScript 参数
- 本地化字符串中的 JavaScript 参数
- JQuery 函数突然停止工作,转换 Javascript 参数时出错
- JavaScript 参数对象 MDN 指南
- JavaScript 参数未跨处理程序传递
- 即时更改 Javascript 参数
- 附加到 JavaScript 参数中的所有值