厳密モード (厳密を使用)
(1) ファイル全体の先頭に use strict を追加します。
(2) 機能の始まり
(3) es6 ではデフォルトで strict モードになっています
なぜ厳密モードを設定するのでしょうか?
(1) js構文の不合理な箇所や不正確な箇所を削除し、奇妙な動作を軽減します。
(2) jsコードの安全な動作を確保するために、jsコードの安全でない部分を削除する
(3) 厳密モードは、非厳密モードよりも高速に実行できます。
厳密モードの構文に関する注意事項が数多くあります。
(1) var を使用しない場合、欠落した宣言は許可されません。
(2) 8 進数は使用できません。構文エラーが報告されます。
(3) if に関数を記述することはできません。
(4) 仮パラメータ名の重複は禁止(同じ名前の仮パラメータを宣言)
(5) オブジェクトに対して同じ属性を宣言することはできません。
(6) 引数と仮パラメータの間には 1 対 1 の対応関係はありません
(6) この関数はウィンドウを指さなくなりました
2. 古い知識を復習する
未定義が表示されます:
オブジェクトに存在しないプロパティにアクセスする
配列にない要素へのアクセス
関数は値を返しません
割り当てがないと宣言されました
let に関する注意事項:
let を使用してレイズできません
再割り当てできません。エラーが報告されます
Windows オブジェクトのプロパティにすることはできません
let{} はブロックレベルのスコープを形成します
var を追加する場合と追加しない場合の違い:
1. グローバル スコープに var を追加すると改善する可能性がありますが、var を追加しないと改善できません
2. グローバルスコープでは、varの有無をwindowオブジェクトの属性として使用可能
3. ローカル スコープでは、ウィンドウ オブジェクトのプロパティとして var を使用できません。
4. var のないものはグローバル変数としてのみ使用でき、ローカル変数としては使用できません。
5. var 付き変数は削除不可、var 無し変数は削除可能
3. 再帰関数
プログラムが自分自身を呼び出すプログラミングのトリックは再帰と呼ばれます。
大規模な問題を層ごとに単純化して小規模な問題を取得し、次に小さな問題を解決し、次に大きな問題を層ごとに解決します
再帰関数: 関数内で自分自身を再度呼び出し、終了する必要があります。
関数 f(){
f();//忘れずにエクスポートしてください
}
これらのいくつかの小さな例を忘れずに解いてください
再帰的思考を使用して 100 の累積を見つけます再帰的思考を使用してフィボナッチ数列の 20 番目の項目を見つけます再帰を使用して配列内の要素の合計を見つけます再帰的思考を使用して、1、3、5、7、9、... の N 番目の項目の値を見つけます。インデックスは 0 から始まります。再帰的思考を使用して、1、3、5、7、9、... の最初の N 項目の合計を見つけます。再帰的思考を使用して、0、2、4、6、8、... の N 番目の項目の値を見つけます。再帰的思考を使用して、最初の N 項目 (0、2、4、6、8、...) の合計を求めます。