ホームページ ウェブフロントエンド jsチュートリアル JavaScript 変数スコープ分析_JavaScript スキル

JavaScript 変数スコープ分析_JavaScript スキル

May 16, 2016 pm 06:05 PM
変数スコープ

コードをコピー コードは次のとおりです:

/* コード 1 */
varscope = "グローバル " ;
関数 checkScope() {
var スコープ = "ローカル ";
関数 childCheck() {
var スコープ = "childLocal ";
document.write(scope);
}
function childUnknown() {
document.write(scope);
var スコープ;
}
function childOverride() {
scope = "childOverride "; 🎜>document .write(scope);
}
document.write(scope); //「childLocal」を出力します。 /Output" unknown"
childOverride(); // 出力 "childOverride"
document.write(scope); // 出力 "childOverride"
}
checkScope(); childLocal unknownchildOverride childOverride "
document.write(scope); //出力 "global "


グローバル スコープとローカル スコープ
グローバル (グローバル) 変数のスコープは、JavaScript ではグローバルです。あらゆる場所に定義があり、関数内で宣言された変数はローカル変数であり、そのスコープはローカルであり、関数本体内でのみ定義されます。次の出力は読者にとって驚くことではありません。



コードをコピーします コードは次のとおりです: /* コード 2 */
var スコープ = "グローバル";
関数 checkScope() {
var スコープ = "ローカル";
}
checkScope(); local"
document.write(scope); //出力 "global"


var ステートメントを使用せずにグローバル変数スコープ内の変数を使用できますが、宣言する場合は var ステートメントを使用する必要があります。それ以外の場合は、グローバル変数への参照として扱われます。以下のコードを見てください:



コードをコピー
コードは次のとおりです: /* コード3 */ var スコープ = "グローバル";
関数 checkScope() {
スコープ = "ローカル";
checkScope() ; //output" local"
document.write(scope) //output "local"


ブロック スコープがありません。JavaScript にはブロック レベルのスコープがありません。関数は関数全体の中にあり、それらはすべて定義されています。次のコードは、馴染みのない読者にとっては驚くかもしれません:



コードをコピー


コードは次のとおりです:
/* コード 4 */ varscope = "global"; function checkScope() { document.write(scope); // ステートメント 4.1 varscope = "local"; /ステートメント 4.2
document.write(scope);
}
checkScope(); //出力 "unknownlocal"


ステートメント 4.1 (varscope = "local") ; ) 宣言された変数は checkScope 関数のスコープ全体内で有効であるため、ステートメント 4.2 (document.write(scope); ) が実行されるとき、スコープはローカル変数を参照しますが、この時点ではローカル変数のスコープはまだ定義されていません。なので、「未定義」が出力されます。したがって、プログラミングの適切な実践は、関数の先頭ですべての変数宣言をグループ化することです。

上記の内容を理解した上で、コード 1 を見て読者が混乱することはありません。

オブジェクトの属性変数
オブジェクトの属性変数は、以下のコードを見れば比較的簡単に理解できるはずです。




コードをコピー


コードは次のとおりです:
/* コード 5 */ var スコープ = "グローバル "; var obj = new Object(); obj.scope = function () { var スコープ = "loacl ";
document.write(scope); // "loacl" を出力します。
document.write(this.scope); // "オブジェクト" を出力します。
document.write(window.scope); // 出力します。 global"
}
obj.checkScope(); //「loacl オブジェクト グローバル」を出力

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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 で変数を宣言する構文は非常に簡単です。変数名はドル記号 ($) で始まり、その後に変数名が続きます。変数名には文字、数字、またはアンダースコアを組み合わせることができますが、文字またはアンダースコアで始まる必要があります。たとえば、次のコードは名前を宣言します。

Python の locals() 関数を使用して、現在のスコープ内の変数を取得します Python の locals() 関数を使用して、現在のスコープ内の変数を取得します Aug 21, 2023 pm 09:52 PM

Python の locals() 関数を使用して、現在のスコープの変数を取得します。Python では、locals() は、現在のスコープ内のすべての変数を取得するために使用できる組み込み関数です。この関数は、現在のスコープ内のすべての変数名と対応する値を含む辞書を返します。プログラミング プロセス中、特にデバッグ段階で、現在のスコープ内の変数を知ることは非常に役立ちます。変数の値とステータスを確認するのに役立ちます。 locals() 関数はまさにこの機能を提供します。下

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

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

See all articles