Javascriptの基礎を学ぶための10の重要な質問

Javascriptの基礎を学ぶための10の重要な質問

1. Javascript とは何ですか?

Javascript は Web 開発に使用されるプログラミング言語です。 JavaScript は Web のクライアント側で実行されます。

MDN によると、JavaScript (多くの場合、JS と略される) は、ファーストクラスの機能を備えた軽量で解釈型のオブジェクト指向言語であり、Web ページ用のスクリプト言語として最もよく知られていますが、多くの非ブラウザー環境でも使用されています。これは、動的で、オブジェクト指向、命令型、関数型プログラミング スタイルをサポートするプロトタイプ ベースのマルチパラダイム スクリプト言語です。

2. DOMとは何か

DOM は Document Object Model の略です。 Web ページが読み込まれると、ブラウザは HTML ファイルと CSS ファイルを使用して DOM を作成します。 DOM はノードと要素によって表されます。 JavaScript を使用して DOM を操作できます。ツリー構造です。

3. JSコードの実行方法

答えるべき質問は少し大きいです。しかし、それについて簡単に話すことはできます。 Javascript はブラウザ上で実行されます。ほぼすべてのブラウザには JavaScript エンジンが搭載されています。その中でもV8が最も人気があります。 Chrome は V8 エンジンを使用します。一方、Firefox は Spider-Monkey エンジンを使用します。

4. == と === の違い

簡単に言うと、== は 2 つの値が同じかどうかのみをチェックします。これらの値の型はチェックされません。次のコードを見てください。

if(2=="2"){
 コンソールログ("true")
} それ以外 {
コンソールログ("偽")
}

上記のコードは true をログに記録します。型をチェックしないので、2 と「2」は等しいとみなされるからです。

対照的に、=== はタイプと品質の両方をチェックします。例えば:

if(2==="2"){
 コンソールログ("true")
} それ以外 {
コンソールログ("偽")
}

これは false としてログに記録されます。 2 と「2」は値は同じですが、型が異なります。

5. Null と未定義

一般に、 null は空で存在しない値を表し、 undefined は宣言されているがまだ定義されていない値を表します。ただし、変数に明示的に undefined を設定することもできます。

var n;
console.log(typeof(n)); // 未定義

var n = null;
console.log(typeof(n)); // オブジェクト

興味深いのは、JS のオブジェクト タイプが null であることです。

6. Var と Let と Const

ES6 より前は、変数を宣言する唯一の方法は var でした。しかし、今では選択肢が増えました。

スコープという用語があります。スコープは、これらの変数を使用できる場所を指します。 var 宣言は、グローバル スコープまたは関数/ローカル スコープのいずれかになります。

Var をハングアップさせることは可能ですが、これについては数秒後に説明します。ただし、現在では変数の宣言には let が好まれます。コードの後半で変数を変更する必要がない場合は、const を使用できます。両者の違いを理解するには、以下の記事を読んでいただくと非常に役立つと思います。

7. 吊り上げ

JavaScript では、変数を宣言する前に使用することができます。変数と関数の宣言をコードの先頭に物理的に移動する概念は、変数巻き上げと呼ばれます。

console.log(num); // 宣言のみがホイストされたため、この段階では初期化が行われていないため、undefined が返されます。
var num; // 宣言
数値 = 6; 

それで、let 変数と const 変数は持ち上げられないのですか?答えはもっと複雑です。すべての宣言 (function、var、let、const、class) は JavaScript でホイストされますが、var 宣言は undefined で初期化されますが、let および const 宣言は初期化されないままになります。

8. グローバル変数とローカル変数

JavaScript では、スコープは 2 つの方法に分かれています。グローバルとローカル。

関数内で宣言された変数はローカル スコープと呼ばれます。この変数は関数外からはアクセスできません。対照的に、関数の外部で宣言された変数はグローバル スコープと呼ばれます。関数内でアクセスできます。

var general = "superhero" //グローバルスコープ
// ここのコードではスーパーヒーローは使えませんがジャンルは使えます
関数myFunction() {
  var superhero = "Batman"; // ローカルスコープ
  // ここのコードではスーパーヒーローとジャンルを使用できます
}

9. 終了

クロージャを使用すると、内部関数から外部関数のスコープにアクセスできるようになります。別の関数から関数を返すことによって作成できます。各インスタンスに対して閉じた環境を作成します。例えば:

関数 sum(x) {
  関数(y)を返す{
    x + y を返します。
  };
}

var add5 = sum(5);
var add10 = sum(10);

コンソール.log(add5(6)); // 11
コンソール.log(add10(6)); // 16

ここで、add5 と add10 は両方ともクロージャです。これらは同じ定義を共有しますが、異なる環境を保存します。

10. コールバック関数

MDN によれば、コールバック関数は別の関数に引数として渡され、その後、何らかのルーチンまたはアクションを完了するために外部関数内で呼び出される関数です。例えば

関数 greeting(名前) {
  console.log('Hello ' + 名前);
}

関数greetEmployee(名前,コールバック) {
  コールバック(名前);
}

従業員に挨拶します("ドワイト",挨拶);

ここでは、greeting 関数が greetingEmployee 関数内で使用されています。これをコールバック関数と呼びます。

この記事を読んでいただきありがとうございます。これが役に立つことを願っています。

これで、Javascript の基礎を学ぶ上で重要な 10 の問題についての記事は終了です。Javascript の基礎に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript ドキュメント オブジェクト モデル DOM
  • JS の == と === の違いをご存知ですか?
  • JavaScript の未定義と null の相違例の分析
  • JavaScript es6 における var、let、const の違いの詳細な説明
  • Web面接におけるJS事前解析と変数プロモーションの違い
  • JavaScript におけるホイスティングの詳細説明(変数ホイスティングと関数宣言ホイスティング)
  • JavaScript でローカル変数をグローバル変数に変換する方法
  • JavaScript クロージャの説明
  • JavaScriptコールバック関数の詳細な理解

<<:  Docker swarm の簡単なチュートリアル

>>:  CSS3 border-radius 丸角の実装方法と使い方の詳しい説明

推薦する

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

Linux で killall コマンドを使用してプロセスを終了する 8 つの例

Linux コマンドラインには、プロセスを強制終了するためのコマンドが多数用意されています。たとえば...

WindowsにMySQL5.7圧縮パッケージを素早くインストールする

この記事では、Windows に MySQL 5.7 圧縮パッケージをインストールする方法について説...

Nginx 仮想ホスト (IP ベース) を構成する 3 つの方法の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...

MySQL 8.0 Windows zip パッケージ版の詳細なインストール手順

MySQL 8.0 Windows zipのインストール手順は次のように紹介されています。準備する:...

Node.js のフロントエンドとバックエンドのインタラクションによるユーザーログインの実装の実践

目次1. プロジェクト要件次にコーディングを始める1. フロントエンドページを作成する(CSSスタイ...

グリーンスタイルのウェブデザイン作品18点の最新コレクション

トイ・ストーリー3 オンラインマーケティングウェブサイトゼンモバイル鉄から鉄へスプラウトファンドバー...

MySQL ステートメントの実行順序と書き込み順序の例の分析

選択ステートメントの完全な構文は次のとおりです。 選択 DISTINCT <選択リスト>...

JavaScript が Taobao の虫眼鏡効果を模倣

この記事では、淘宝虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介しま...

MySQLのデッドロックチェック処理の通常の方法

通常、デッドロックが発生すると、重みが最も小さい接続が強制終了され、ロールバックされます。ただし、最...

MySQLサービスを開くおよび閉じる2つの方法

方法1: cmdコマンドを使用するまず、DOS ウィンドウを開き、スタート、実行、cmd と入力しま...

MySQL 最適化戦略 (推奨)

要約すれば: 1. データベースの設計とテーブルの作成時にパフォーマンスを考慮する2. SQLの記述...

CSS 透明ボーダー背景クリップマジック

この記事では、CSSの透明な境界線の背景クリップの素晴らしい使い方を主に紹介し、みんなと共有し、自分...

Linux パーティションまたは論理ボリュームにファイルシステムを作成する方法

序文システムにファイル システムを作成し、それを永続的または非永続的にマウントする方法を学習します。...

単一の MySQL テーブル内の行数が 500 万を超えてはいけないのはなぜですか?

今日は、興味深いトピックについてお話ししましょう。データベースとテーブルを分割することを検討する前に...