这是如何在JavaScript中实现的?
optionsObject
如果缺少SearchView
,则回调将位于第二个位置而不是第三个位置。该函数如何注意到这种情况并适当地处理它?</ p>
答案 0 :(得分:3)
在这种情况下,JS不是这样做的,而是函数本身myFunc
。通常做的是取arguments
(这是一个包含你的参数的数组结构)并确定最后一项是什么。如果它是一个功能,请将其弹出并将其作为回调。剩下的只是简单的论点。
以下是示例代码:
function myFunc(){
// arguments is usually turned into an array to access array methods
var args = Array.prototype.slice.call(arguments);
// Check the type of the last item
var hasCallback = typeof args[args.length - 1] === 'function';
// If the last item is a function, it's probably a callback. Pop it off.
var callback = hasCallback ? args.pop() : function(){};
// By now, args is your argument list and callback is a function that either
// does something or is a noop.
}