0
これはJavaScriptでどのように実装されていますか?関数シグネチャの途中にあるオプションの引数はどのように実装されていますか?
function myFunc(arg1, [optionsObject,] callback)
optionsObject
が欠落している場合、コールバックは、第二の位置の代わりに、第3の位置になります。どのように関数がこの状況を認識し、それを適切に処理しますか?
これはJavaScriptでどのように実装されていますか?関数シグネチャの途中にあるオプションの引数はどのように実装されていますか?
function myFunc(arg1, [optionsObject,] callback)
optionsObject
が欠落している場合、コールバックは、第二の位置の代わりに、第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.
}
' "機能" や' ' "オブジェクト"'のいずれかである 'typeofをsecondArgument'、何かのように、多分:
ここでのサンプルコードでは、ですか?または 'arguments.length'は' 2'か '3'です。 – Xufox