昨日の内容を補足します: ------------ コードセグメント ------------------ --- --------
コード スニペットについて: 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 番目のタイプ: 関数名を追加できますが、関数の内部にのみ影響し、関数内で呼び出すことができます。