2日目のjsまとめ

昨日の内容を補足します: ------------ コードセグメント ------------------ --- --------

コード スニペットについて: scrpt タグはコード スニペットです。

前のコード セグメントで定義された変数は、次のコード セグメントでも使用できます。

次のコード セグメントで定義された変数は、前のコード セグメントでも使用できます。

js はシングルスレッドであるため、上から下に実行されるコードです。

js はシングルスレッド (一般的)

プロセス: (ファクトリー) プロジェクトは、コンピューター上で実行された後のプロセスです。プロセスは、リソースの割り当てとスケジュールを設定するための基本単位であり、プロジェクトがコンピュータ上で実行されると、プロセスになります。qq、vscode など、

スレッド: (ワーカー) にはプロセス内に少なくとも 1 つ以上のスレッドが含まれており、実際の作業はスレッドです。

ブラウザはマルチスレッドです。各タブはプロセスです。プロセスには多くのスレッドが含まれています。ブラウザは、JS コードを実行するために特別にスレッドを開きます。これは、1 人のワーカーだけが JS コードを実行することを意味します。彼が実行できるジョブは 1 つだけです同時に実行されるため、実行順序は上から下になります。

js のタスクも次のように分類されます。

 同期タスク: 私たちが記述するコードのほとんどは同期タスクです。

非同期タスク: js には非同期タスクであるタスクはほんのわずかしかないため、当面は理解しないでおきます。

とりあえず、書くコードはすべて同期タスクとして考えてみましょう 同期タスクは上から下にタスクが実行される性質があり、前のタスクが完全に実行されないと次のタスクは実行されません。

笑、要約すると、js はシングルスレッドであり、メインスレッドもシングルスレッドです。

スコープ (詳細を確認)

グローバル スコープ: ローカル スコープの外側の領域はグローバル スコープと呼ばれます。

ローカル スコープ: 関数本体内のスコープはローカル スコープと呼ばれます。

スコープは静的であり、コードが実行されるかどうかに関係なく存在します。

グローバル コンテキスト: js コードが実行されると、グローバル実行コンテキストが生成されます。

ローカル コンテキスト: js 関数が呼び出されると、ローカル実行コンテキストが生成されます。

-----------------------------------------------今日の内容- --- --------------------------------------

表現とは何ですか

式は値です (おそらく計算されます)

値を持つものはすべて式です。

いくつかの例を挙げると、次のようになります。

 10 就是一个表达式 ,a=10也是表达式,因为a=10整体也有一个值,是10 
1+1也是,10>9也是,math.random()等等
if(true)这个不是

文章とは何か(概念の普及)

ステートメントは命令またはコマンドです。var a=10;// はステートメントであり、ほとんどの場合セミコロンで終わります。

文章の分類:

宣言文 式文 条件文 ループ文 ジャンプ文

宣言ステートメント:

1)var a = 110;  // 指令 命令  声明变量
2)function f(){}  // 声明函数

式ステートメント:

1)r = 1+1 とします。

2)let res = "hello" + "world~"

条件文

1)if(布尔值){}(可选可不选)
2)if(布尔值){}else{}(二选一)合二选一的场景可以转换三元表达式(条件表达式 字面量表达式)? :
3)if(布尔值){}else if(布尔值){}else if(布尔值){}else{}(多选一)
4)switch(值){case 值:xxx; break; case 值:xxx;  break; default:xxx}switch   后面的小括号里面的值要和case严格匹配,(switch后面小括号的值不会发生类型转换)default最后的break可以不

ループ文(強調):ループ変数 ループ条件 ループ本体 

for ループは非常に重要です。

// 1. for ループも同期タスクです。for ループの背後にあるコードは、for ループの実行後にのみ実行できます。 // 2. for ループの背後にある 3 つの式は省略して理解できます。 // 3 , for ループは入れ子にすることができます。for ループの中に for ループを入れ子にすると、二重 for ループと呼ばれます... // 4. for ループの入れ子は最大 3 層になります。 for ループの機能は非常に貧弱で、通常は 1 層または 2 階です。

while ループ:

for(ループ変数; 条件; ループ変数++) { ループ本体 }

while (条件) {ループ本体; 変更する条件} (一度実行されない場合もあります)

do {ループ本体; 変更する条件} while (条件) (ループ本体は少なくとも 1 回実行する必要があります)

ジャンプステートメント

Break; ループ全体を抜け出す、つまりループを終了する

現在のループを終了します (for while など)

continue; 現在のループから抜け出し、次のループの実行を継続します (しばらくの間)

return; return は関数を終了するという意味もあり、(次のコードは実行されません) 多くの場合最後に置かれます。

ループを終了するだけでなく、return ステートメントの値を返し、同時に現在の関数本体のコードを終了することもできます。通常、返す関数で使用されます。

関数

関数は、再利用できるコードのブロックをカプセル化します。

(1) 関数はある関数のみを実現し、最終結果は関数の呼び出し先に返す必要があり、関数名()はreturnによって実現されます。

(2) 関数がリターンを検出した限り、後続の結果が関数の呼び出し元に返されます。

関数は使用する (呼び出すように宣言する) 必要がありますが、関数は呼び出されず、関数自体は実行されません。

宣言された関数の括弧内は仮引数(仮引数)と呼ばれます。

呼び出し関数の括弧内は実パラメータ (実際のパラメータ) で、定数、変数、式、関数などを指定できます。

実際のパラメータがどのような型であっても、再度呼び出されるときは、明確な値を持たなければなりません。

関数の仮パラメータと実パラメータの数を一致させる問題:

1) 実パラメータの数と仮パラメータの数が同じ場合、結果は正常に出力されます。

2) 実パラメータが仮パラメータより大きい場合、仮パラメータの数が取得されます。

3) 実パラメータの数が仮パラメータより少ない場合、冗長な仮パラメータは未定義として定義され、最終結果は NaN になります。

4) 実パラメータの数と仮パラメータの数を一致させることをお勧めします。

関数にリターンがある場合はリターン後の値を返しますが、そうでない場合は未定義を返します。

関数宣言

最初のタイプ: function 関数名 () {

関数本体。

}

2 番目の関数式: var f = function () {

関数本体

}

3 番目のタイプとして記述することもできます。

var f=function こんにちは(){

}

関数呼び出し

最初の呼び出し: 関数名 ()

2 番目の呼び出し: 変数名 ()// は、匿名関数を変数に代入し、変数名 () を直接呼び出します。

3 番目のタイプ: 関数名を追加できますが、関数の内部にのみ影響し、関数内で呼び出すことができます。

 

 

 

 

おすすめ

転載: blog.csdn.net/zwy1231/article/details/103303952