ホームページ > 記事 > ウェブフロントエンド > Function.prototype.call.apply と使用状況分析の組み合わせ example_javascript スキル
昨日、インターネットで非常に興味深い JS の面接の質問を見つけたので、同僚とそれについて話し合いました。最初は非常にわかりにくいと思いましたが、理解すると、突然理解できるようになりました。シンプルに皆さんとシェアしたいと思います!
質問は次のとおりです: var a = Function.prototype.call.apply(function(a){return a;}, [0,4,3]);alert(a);
分析手順は次のとおりです。
1. Function.prototype.call を全体として扱います。 call メソッドはブラウザによって実装されるローカル メソッドであり、関数型 var a = (Function.prototype.call ).apply(function(a){return a;}, [0,4,3]);
2. obj.fun(args) に相当します。この 1 つのステップが重要なポイントであり、理解する必要があります。
(function(a){return a;}).apply(0,[4,3])
(function(a){return a;}).call(0,4,3)
3. このステップでは、a が 4 であることは明らかであり、alert の結果は 4 です。
この質問のわかりにくい点は、理解すると Function.prototype.call です。 、わかります!