ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScript はパラメータの受け渡しが何なのかを理解していません

JavaScript はパラメータの受け渡しが何なのかを理解していません

WBOY
WBOYオリジナル
2023-05-21 10:16:07598ブラウズ

JavaScript ではパラメータの受け渡しが何なのか理解できません: 詳細な紹介

JavaScript を学習する過程で、「パラメータの受け渡し」という概念をよく聞きますが、初心者にとってこの概念はそれほど簡単ではありません。理解する 。この記事では、初心者がこの重要な概念を習得できるように、JavaScript のパラメーター受け渡しメカニズムについて詳しく説明します。

パラメータとは何ですか?

簡単に言えば、パラメータは関数が呼び出されたときに情報を渡すために使用されるエンティティです。 JavaScript 関数では、関数のパラメーターを定義し、関数を呼び出すときにパラメーターを渡すことができます。関数内では、これらのパラメーターにアクセスすることで、渡された情報を取得できます。

以下の簡単な例に示すように、関数を定義するときにパラメーター x を定義し、関数内の計算にこのパラメーターを使用します。

function square(x) {
  return x * x;
}

console.log(square(5)); // 输出25

上の例では、次の値を使用します。関数呼び出し時にパラメータとして 5 が渡されました。関数内でこのパラメーターを計算に使用し、結果 25 が得られました。

関数パラメータの型

JavaScript では、関数パラメータに型の制限はありません。つまり、数値、文字列、オブジェクトなど、あらゆるタイプの値をパラメーターとして渡すことができます。以下に例を示します。

function describe(object) {
  console.log(`The name of the object is ${object.name}`);
  console.log(`The age of the object is ${object.age}`);
}

let person = {
  name: "Tom",
  age: 20
};

describe(person);

この例では、オブジェクトをパラメータとして受け取る description 関数を定義します。関数内でオブジェクトにアクセスし、そのプロパティを出力します。関数を呼び出すときは、name プロパティと age プロパティを含むオブジェクトをパラメータとして渡します。

パラメータの受け渡し方法

JavaScript では、値の受け渡しと参照の受け渡しという 2 つの方法でパラメータを渡すことができます。値渡しでは、関数は引数のコピーを作成し、そのコピーを関数内で使用します。参照渡しでは、関数はパラメーターの実際の参照を使用し、関数内でパラメーターの値を変更すると、元の値に直接影響します。

違いを見てみましょう:

値転送

function changeValue(number) {
  number = number + 10;
  console.log(number);
}

let number = 10;
changeValue(number);
console.log(number);

この例では、パラメータとして数値を受け取る関数changeValueを定義します。関数内で引数に 10 を加算し、結果を出力します。メインのコード スニペットでは、数値変数を定義し、その初期値を 10 に設定します。次に、changeValue 関数を呼び出し、パラメータとして数値を渡しました。関数内でパラメーターの値を変更し、結果を出力します。ただし、メイン コード セグメントでは、number の値は変更されておらず、10 のままです。

これは、値の受け渡しにおいて、関数がパラメーターのコピーを作成し、そのコピーを関数内で使用するためです。したがって、関数内のパラメーター値を変更しても、元の値には影響しません。

参照渡し

function changeObject(object) {
  object.name = "Bob";
  console.log(object.name);
}

let person = {
  name: "Tom",
  age: 20
};

changeObject(person);
console.log(person.name);

この例では、オブジェクトをパラメータとして受け取るchangeObject関数を定義します。関数内でパラメータの name 属性を変更し、結果を出力します。メインのコード スニペットでは、人物オブジェクトを定義し、それをパラメータとして changeObject 関数に渡します。関数内でパラメータの name 属性を変更し、結果を出力します。メインのコード セグメントで、人の名前属性を再度出力すると、その値が「Bob」に変更されていることがわかります。

これは、参照転送では関数がパラメータの実際の参照を使用するため、関数内でパラメータの値を変更すると、元の値に直接影響するためです。

概要

関数のパラメーターは JavaScript における非常に重要な概念であり、関数を呼び出すときにパラメーターを通じて情報を渡すのは非常に一般的な操作です。関数を定義するときは、任意のタイプのパラメーターを定義し、関数内で計算または変更できます。パラメータを渡すときは、実際のニーズに応じて、値渡しまたは参照渡しを選択できます。初心者にとって、パラメーター受け渡しメカニズムを理解することは、JavaScript を学習するための鍵の 1 つです。

以上がJavaScript はパラメータの受け渡しが何なのかを理解していませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。