ホームページ ウェブフロントエンド jsチュートリアル JavaScript 関数のスコープ: 変数のスコープを理解する

JavaScript 関数のスコープ: 変数のスコープを理解する

Nov 18, 2023 pm 01:29 PM
変数スコープ 関数スコープ JavaScript 関数のスコープ: 行動範囲の理解

JavaScript 関数のスコープ: 変数のスコープを理解する

JavaScript 関数スコープ: 変数のスコープを理解するには、特定のコード例が必要です。

はじめに:
JavaScript では、関数スコープとは、変数のスコープを指します。関数の可視範囲内の変数。関数のスコープを理解することは、JavaScript 言語を習得するための基礎の 1 つです。この記事では、概念から始めて、具体的なコード例を通して関数スコープの概念と使用法を説明します。

1. 関数スコープとは何ですか?
関数スコープとは、関数内の変数の表示範囲を指します。つまり、変数のスコープは、変数が宣言されている関数に制限されます。関数内の変数には関数の外部からアクセスできません。

2. ローカル変数とグローバル変数
JavaScript では、変数はローカル変数 (関数内で宣言) またはグローバル変数 (関数外で宣言) のいずれかになります。

  1. ローカル変数:
    ローカル変数は関数内で宣言された変数で、関数内でのみアクセスでき、関数外からはアクセスできません。例:
function myFunction() {
  var localVar = "局部变量";
  console.log(localVar); //输出"局部变量"
}

myFunction();
console.log(localVar); //报错,无法访问局部变量
ログイン後にコピー

上記の例では、localVar はスコープが myFunction 関数に制限されているローカル変数です。 localVar 変数には関数の外部からアクセスできません。

  1. グローバル変数:
    グローバル変数は関数の外部で宣言された変数であり、関数の内部と外部の両方でアクセスできます。例:
var globalVar = "全局变量";

function myFunction() {
  console.log(globalVar); //输出"全局变量"
}

myFunction();
console.log(globalVar); //输出"全局变量"
ログイン後にコピー

上記の例では、globalVar はグローバル変数であるため、関数の内部と外部の両方でアクセスできます。

3. 関数スコープ チェーン

  1. スコープ チェーンを理解する
    JavaScript では、関数をネストして定義でき (つまり、関数内で関数を定義でき)、スコープが形成されます。鎖。スコープ チェーンの概念は、各関数が外部関数やグローバル変数だけでなく、独自の変数にもアクセスできることを意味します。例:
function outerFunction() {
  var outerVar = "外部函数变量";

  function innerFunction() {
    var innerVar = "内部函数变量";
    console.log(innerVar); //输出"内部函数变量"
    console.log(outerVar); //输出"外部函数变量"
  }

  innerFunction();
}

outerFunction();
ログイン後にコピー

上記の例では、innerFunction 関数は outerFunction 関数内にあります。 innerFunctionこの関数は、独自の変数 innerVar に加えて、外部関数 outerVar の変数にもアクセスできます。

  1. スコープ チェーン内の変数の検索プロセス
    変数にアクセスするとき、JavaScript はまず現在の関数内の変数を検索し、変数が見つかった場合は検索を停止します。見つからない場合、検索はグローバル スコープまで外部関数で続行されます。

4. 変数の昇格
JavaScript では、変数宣言は関数スコープの先頭に昇格されます。これは、変数が宣言される前でも使用できることを意味します。例:

function myFunction() {
  console.log(myVar); //输出"undefined"
  var myVar = "被提升的变量";
  console.log(myVar); //输出"被提升的变量"
}

myFunction();
ログイン後にコピー

上記の例では、myVar 変数の宣言が関数スコープの先頭に昇格されるため、変数が宣言される前に使用できるようになります。

結論:
関数スコープは、JavaScript における非常に重要な概念の 1 つです。関数のスコープを理解すると、変数のスコープをより適切に制御し、名前の競合や不正な変数アクセスを回避するのに役立ちます。この記事では、ローカル変数とグローバル変数、スコープ チェーン、変数プロモーションなどの具体的なコード例を通じて、関数スコープの概念と使用法を紹介します。読者の皆様が JavaScript 関数のスコープについて理解を深め、コーディング スキルを向上できることを願っています。

以上がJavaScript 関数のスコープ: 変数のスコープを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP関数の変数スコープはどのように決定されるのでしょうか? PHP関数の変数スコープはどのように決定されるのでしょうか? Apr 16, 2024 pm 04:51 PM

PHP の変数スコープは、ローカル (関数内)、グローバル (プログラム内でアクセス可能)、クラス スコープ (クラス インスタンス内でアクセス可能) に分かれています。 global キーワードはローカル変数をグローバル変数として宣言でき、static キーワードはローカル変数を静的変数として宣言し、関数呼び出し間で値を保持できます。

Golang 関数のライフサイクルと変数スコープの深い理解 Golang 関数のライフサイクルと変数スコープの深い理解 Apr 19, 2024 am 11:42 AM

Go では、関数のライフ サイクルには定義、ロード、リンク、初期化、呼び出し、戻り値が含まれます。変数のスコープは関数レベルとブロック レベルに分割されますが、ブロック内の変数はブロック内でのみ表示されます。 。

Go 言語の変数スコープとライフサイクル Go 言語の変数スコープとライフサイクル Jun 01, 2023 pm 12:31 PM

Go 言語はオープンソースの静的型付け言語であり、シンプルさ、効率性、信頼性などの特徴を持ち、開発者の間でますます愛されています。 Go 言語では、変数はプログラム内のデータ ストレージの最も基本的な形式であり、変数のスコープとライフ サイクルはプログラムの正確さと効率にとって非常に重要です。変数のスコープとは、変数の可視性とアクセス可能性、つまり変数にアクセスできる場所を指します。 Go 言語では、変数のスコープはグローバル変数とローカル変数に分けられます。グローバル変数は関数の外部で定義された変数であり、プログラム全体のどこでも使用できます。

Golang関数で変数のスコープを定義するにはどうすればよいですか? Golang関数で変数のスコープを定義するにはどうすればよいですか? Apr 11, 2024 pm 12:27 PM

Go では、関数スコープにより、変数の可視性が変数が宣言されている関数に制限されます。 関数内で変数を宣言します: varnametype=value スコープは宣言されたコード ブロックに制限され、他の関数またはネストされたブロックはこれらの変数にアクセスできません。

PHP 5.6 変数スコープ: static キーワードを使用して静的変数を定義する方法 PHP 5.6 変数スコープ: static キーワードを使用して静的変数を定義する方法 Jul 30, 2023 pm 11:02 PM

PHP5.6 変数スコープ: static キーワードを使用して静的変数を定義する方法 PHP では、変数のスコープによって変数の可視性とアクセス スコープが決まります。静的変数は、関数呼び出し間で値を変更しない特殊なタイプの変数です。 PHP5.6 以降では、static キーワードを使用して関数およびクラス メソッド内で静的変数を定義できます。静的変数の特性は次のとおりです。 静的変数のスコープは、それが宣言されている関数またはメソッドに制限されます。静的変数は関数またはメソッド呼び出しの間で使用されます。

PHPでの変数の使い方 PHPでの変数の使い方 May 20, 2023 pm 02:33 PM

PHP は、開発者がサーバー側で動的な Web アプリケーションを作成できるようにする非常に人気のある Web 開発言語です。 PHP では、変数は値とデータを保存するために使用される基本的なデータ構造です。この記事ではPHPでの変数の使い方を紹介します。変数の基本構文 PHP で変数を宣言する構文は非常に簡単です。変数名はドル記号 ($) で始まり、その後に変数名が続きます。変数名には文字、数字、またはアンダースコアを組み合わせることができますが、文字またはアンダースコアで始まる必要があります。たとえば、次のコードは名前を宣言します。

PHP でスーパーグローバル変数を使用する方法 PHP でスーパーグローバル変数を使用する方法 May 20, 2023 pm 07:01 PM

PHP のスーパーグローバル変数は、グローバル スコープでアクセスできる変数を指します。各スーパーグローバル変数は連想配列であり、$_GET、$_POST、$_COOKIE など、PHP で事前定義された変数が多数含まれています。これらのスーパーグローバル変数は、フォーム データの取得、URL パラメータの取得など、ユーザーのリクエストから情報を取得する重要な方法を提供するため、Web 開発において非常に重要です。この記事では、PHPでよく使われるスーパーグローバル変数について、その機能や使い方も含めて詳しく紹介します。

Golang関数の変数スコープは何ですか Golang関数の変数スコープは何ですか Dec 22, 2023 pm 02:39 PM

Golang 関数の変数スコープは、関数内の変数の可視性とライフサイクルを指します。関数内の変数の位置と範囲に応じて、変数はローカル変数、パラメータ変数、戻り値変数の 3 種類に分類できます。詳細な紹介: 1. ローカル変数は関数内で定義された変数であり、関数内でのみ使用できます。その範囲は、関数のすべてのコード ブロックとネストされたコード ブロックを含む、関数内に限定されます。2. パラメーター変数は、関数が受け取る入力パラメータで、関数内で使用できますが、範囲は関数内などに限定されます。

See all articles