違い: グローバル スコープでは、変数はページ スクリプト全体で表示され、自由にアクセスできます。ローカル スコープでは、変数は宣言された関数内でのみ表示でき、関数の外部からアクセスすることはできません。関数が実行された後、ローカル スコープは破棄されます。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
変数スコープとは、「変数スコープ(Scope)」とも呼ばれ、プログラム内で変数がアクセスできる有効範囲のことを指し、変数の可視性とも呼ばれます。
スコープ
1. スコープとは
一般的に、プログラム コードの一部は常に有効で利用できるとは限らず、名前の利用可能性を制限するコード スコープは名前のスコープです。
JS スコープ: コード名 (変数) のスコープです
スコープの目的: プログラムの信頼性を向上させること、そしてより重要なことに、名前の競合を減らすことです
2. JS スコープの分類 (ES6 以前)
JS スコープは、グローバル スコープとローカル スコープ (関数スコープ) の 2 つのカテゴリに分類できます。
1) グローバル スコープ:
script タグに直接記述された JS コードはグローバル スコープです;
または別の JS ファイルに記述されます。
グローバル スコープは、ページが開かれたときに作成され、ページが閉じられたときに破棄されます。
グローバル スコープには、グローバル オブジェクト ウィンドウがあります (ブラウザによって作成されたブラウザ ウィンドウを表します)。 )、直接使用できます。
グローバル スコープでは、
- 作成されたすべての変数がウィンドウ オブジェクトのプロパティとして保存されます。
- #作成されたすべての関数は、ウィンドウ オブジェクトのメソッドとして保存されます。
2) ローカル スコープ (関数スコープ):
関数内はローカル スコープであり、この名前はこのコードは関数内でのみ機能します。 関数のスコープは、関数が呼び出されたときに作成されます。関数が実行されると、関数のスコープは破棄されます。 毎回新しいスコープが作成されます。関数のスコープは互いに独立しています。分析例:
この例では、un 関数のローカル スコープに num 変数があり、グローバル スコープにも num 変数があります。スクリプトタグの。 (1 つはグローバル スコープにあり、もう 1 つはローカル スコープにあります。2 つの変数の変数名は競合しますが、影響はありません。) したがって、異なる関数では次のようになります。ドメインでは、同じ名前の変数は影響を受けないため、名前の競合が効果的に軽減されます。<script> var num = 10; function nu(){ var num = 20; console.log(num); } nu(); console.log(num); </script>
- グローバル変数: 変数はページ全体にありますscript これらはすべて表示され、自由にアクセスできます。スコープはグローバル スコープです。
- ローカル変数: 変数は、宣言された関数内でのみ表示でき、関数の外部からアクセスすることはできません。変数のスコープはローカル スコープです。
var a = 1; //声明并初始化全局变量 function f(){ //声明函数 document.write(a); //显示undefined var a = 2; //声明并初始化局部变量 document.write(a); //显示 2 } f(); //调用函数同じ名前のローカル変数 a が関数内で宣言されているため、プリコンパイル期間中、JavaScript はこの変数を使用して関数内のグローバル変数の影響をオーバーライドします。実行の開始時、ローカル変数 a には値が割り当てられていないため、関数のコードの最初の行で読み取られるローカル変数 a の値は未定義です。関数のコードの 2 行目が実行されると、ローカル変数には値 2 が代入されるため、3 行目には 2 と表示されます。 例 2次の例は、ローカル変数を明示的に宣言しない場合の結果を示しています。
var jQuery = 1; (function () { jQuery = window.jQuery = window.$ = function(){}; })() document.write(jQuery); //显示函数代码:function(){}したがって、関数本体内でグローバル変数を使用することは危険な行為です。このような問題を回避するには、関数本体内で var ステートメントを使用してローカル変数を明示的に宣言する習慣を身に付ける必要があります。 [推奨学習:
JavaScript 上級チュートリアル]
以上がJavaScript の 2 種類の変数スコープの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Reactの利点は、その柔軟性と効率性であり、これは以下に反映されています。1)コンポーネントベースの設計により、コードの再利用性が向上します。 2)仮想DOMテクノロジーは、特に大量のデータ更新を処理する場合、パフォーマンスを最適化します。 3)リッチエコシステムは、多数のサードパーティライブラリとツールを提供します。 Reactがどのように機能し、例を使用するかを理解することにより、そのコアコンセプトとベストプラクティスをマスターして、効率的で保守可能なユーザーインターフェイスを構築できます。

Reactは、大規模で複雑なアプリケーションに適したユーザーインターフェイスを構築するためのJavaScriptライブラリです。 1. Reactのコアはコンポーネント化と仮想DOMであり、UIレンダリングパフォーマンスを向上させます。 2。Vueと比較して、Reactはより柔軟性がありますが、大規模なプロジェクトに適した急な学習曲線があります。 3。Angularと比較して、Reactはより軽く、コミュニティの生態学に依存し、柔軟性を必要とするプロジェクトに適しています。

Reactは、仮想Domを介してHTMLで動作します。 1)ReactはJSX構文を使用してHTMLのような構造を書きます。 2)仮想DOM管理UIアップデート、拡散アルゴリズムによる効率的なレンダリング。 3)Reactdom.render()を使用して、コンポーネントを実際のDOMにレンダリングします。 4)最適化とベストプラクティスには、React.MEMOとコンポーネントの分割を使用して、パフォーマンスと保守性を向上させることが含まれます。

Reactは、eコマース、ソーシャルメディア、データの視覚化で広く使用されています。 1)電子商取引プラットフォームは、Reactを使用してショッピングカートコンポーネントを構築し、UseStateを使用して状態を管理し、イベントを処理するためにオンクリックし、機能をマップしてリストをレンダリングします。 2)ソーシャルメディアアプリケーションは、Effectを使用してAPIと対話し、動的なコンテンツを表示します。 3)データの視覚化は、React-ChartJS-2ライブラリを使用してチャートをレンダリングし、コンポーネント設計はアプリケーションを簡単に埋め込むことができます。

Reactのベストプラクティスには、フロントエンドアーキテクチャが含まれます。1。コンポーネントの設計と再利用:設計単一の責任、理解しやすく、コンポーネントをテストして高い再利用を実現します。 2。状態管理:UseState、usereducer、contextapi、またはredux/mobxを使用して、過度の複雑さを避けるために状態を管理します。 3。パフォーマンスの最適化:raceme.memo、usecallback、usememo、その他の方法を介してパフォーマンスを最適化して、バランスポイントを見つけます。 4。コード組織とモジュール性:機能モジュールに従ってコードを整理して、管理可能性と保守性を向上させます。 5。テストと品質保証:コードの品質と信頼性を確保するためのJestとReactTestingLibraryを使用したテスト

HTMLにReactを統合するには、次の手順に従ってください。1。HTMLファイルにReactとReactdomを導入します。 2。反応成分を定義します。 3. ReactDomを使用してコンポーネントをHTML要素にレンダリングします。これらの手順を通じて、静的HTMLページは動的でインタラクティブな体験に変換できます。

Reactの人気には、パフォーマンスの最適化、コンポーネントの再利用、豊富なエコシステムが含まれます。 1.パフォーマンスの最適化は、仮想DOMおよび拡散メカニズムを介して効率的な更新を実現します。 2。コンポーネントの再利用は、再利用可能なコンポーネントによって重複コードを削減します。 3.リッチなエコシステムと一方向のデータフローは、開発エクスペリエンスを向上させます。

Reactは、動的でインタラクティブなユーザーインターフェイスを構築するための選択ツールです。 1)コンポーネント化とJSXは、UIを分割して簡単に再利用します。 2)国家管理は、UIの更新をトリガーするためにUseStateフックを通じて実装されます。 3)イベント処理メカニズムは、ユーザーの相互作用に応答し、ユーザーエクスペリエンスを向上させます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

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