JS の学習方法、JS を使用するプロセスには非常に重要なヒントがあります。このヒントをマスターすれば、JS の学習方法を簡単に知ることができます。まず、JavaScript 関数は任意の数を使用できることを知っておく必要があります。パラメータの。他の言語 (C# や Java など) とは異なり、JavaScript 関数を呼び出すときに任意の数のパラメーターを渡すことができます。 JavaScript 関数では、不明な数の 関数引数 を許可します。 ECMAScript 6 より前の JavaScript には、これらの未知のパラメータまたは可変数のパラメータにアクセスするための変数がありました。これは、配列ではなく配列のようなオブジェクトでした。引数変数を理解するには、次のコードを検討してください:
function add(){ var result = 0; for(let i=0;i<arguments.length;i++){ result = result + arguments[i]; } return result; } var r = add(6,9,3,2); console.log(r); var t = add(7,56,9); console.log(t);
ご覧のとおり、引数オブジェクトは、未知または変数の関数パラメーターにアクセスするために使用されます。引数で length 属性と角括弧が使用されている場合でも、それは真の JavaScript 配列 ではありません。引数オブジェクトでは、pop、push、slice などの他の JavaScript 配列メソッドを使用できません。引数を使用するときの問題は次のとおりです:
JavaScript 関数の引数オブジェクトは実際の JavaScript 配列ではないため、pop、push、slice などの他の配列メソッドは使用できません。
内部関数で外部関数の引数オブジェクトにアクセスすることは困難です。これにアクセスするには、外部関数の引数関数を変数に代入し、それを内部関数で使用する必要があります。
引数オブジェクトを配列として使用したい場合は、Aarry.prototype.slice を介して手動で変換する必要があります。
ECMAScript 6 では、関数内の配列として未知の数のパラメーターを表す新機能、残りのパラメーターが導入されています。追加のパラメーターを配列として表すだけでなく、引数オブジェクトに関する多くの問題も解決します。上記の add 関数を、rest パラメーターを使用して書き換えます。
function add(...theArgs){ var result = 0; for(let i=0;i<theArgs.length;i++){ result = result + theArgs[i]; } return result; } var r = add(6,9,3,2); console.log(r); var t = add(7,56,9); console.log(t);
残りのパラメータは...theArgs または...args として定義できます。最後に名前を付けた関数パラメータの先頭に ... (3 つのドット) が付いている場合、それが関数の残りのパラメータになります。 JavaScript 関数の残りのパラメーターは、純粋な JavaScript 配列です。上記のコードでは、...theArgs は関数 add の残りのパラメーターです。これは、唯一の名前付きパラメーターであり、先頭に ... (3 つのドット) が付いているためです。残りのパラメータは JavaScript 配列であるため、次のコードに示すように、残りのパラメータ theArgs に対してプッシュやポップなどの操作を実行できます:
function add(...theArgs){ theArgs.push(10); var result = 0; for(let i=0;i<theArgs.length;i++){ result = result + theArgs[i]; } var lastItem = theArgs.pop(); console.log(lastItem); return result; }
JavaScript 関数の残りのパラメータは、他のパラメータとも連携できます。残りのパラメーター配列に特定のパラメーターを含めたくない場合は、関数内で他の名前付きパラメーターを使用する必要がある場合があります。次のコード ブロックを考えてみましょう:
function add(num1, num2, ...theArgs){ console.log(num1); console.log(num2); console.log(theArgs.length); } var r = add(6,9,3,2); var t = add(7,56,9);
最初の関数呼び出しでは、6 と 9 がそれぞれ num1 と num2 に割り当てられます。 2 番目の関数呼び出しでは、7 と 56 が num1 と num2 に割り当てられます。 3 番目のパラメーターを開始するパラメーターは、残りのパラメーター配列に割り当てられます。最初の 2 つのパラメータは残りのパラメータ配列の一部ではないことに注意してください。したがって、残りのパラメータにすべての値を含める場合は、最初からカンマ区切りの名前付きパラメータとして定義する必要があります。以下のコードではエラーが発生します:
function add(num1, ...theArgs,num2){ console.log(num1); console.log(num2); console.log(theArgs.length); }
上記のコードでは、rest パラメータが最後のパラメータではないため、JavaScript はエラーをスローします。残りのパラメータは最後の仮パラメータである必要があります。
JavaScript を使用すると、残りのパラメーターを破棄できます。これは、残りの変数データを別の 変数名 名に解凍できることを意味します。以下のコードを見てください:
function add(...[a,b,c]){ return a+b+c; } var r = add(6); console.log(r); var t = add(7,56,9); console.log(t);
最初の関数呼び出しでは a = 6、b = 未定義、c = 未定義が割り当てられ、2 番目の関数呼び出しでは a = 7、b = 56、c = 9 が割り当てられます。この例では、関数は渡された追加の引数を無視します。
JavaScript 関数の残りのパラメーターは、関数を使用した未知のパラメーターを使用する引数オブジェクトに比べて大幅に改善されています。これは純粋な JavaScript 配列であるため、すべての配列メソッドを使用できます。残りの変数データを名前付き変数に解凍できます。残りのパラメータには任意の名前を指定できます。これも、arguments キーワードを使用する場合に比べて大きな改善点です。
上記は JS の学習方法に関するいくつかのヒントです。私の友人はこれをある程度理解していると思います。あなたの仕事や勉強に役立つことを願っています。
関連する推奨事項:
JavaScript 言語を学習するにはどうすればよいですか?学習する上で大切なこと、難しいことは何ですか?
以上がJSの学び方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。