jscheatsheet
さらなる出典:https://developer.mozilla.org/id/docs/web/javascript/a_re-introduction_to_javascript
データ型
番号:(15桁)
- 小数のない数値:10、123456、3000
- 10進数:3.14、0.5、100.00
- 指数:123e5 // 12300000、123e-5 // 0.00123
- 負の数:-0.134、-2、-100.00
- オクタル数(ベース8)
- 16進数(ベース16)
- 特別な数字:-infinity、nan
オペレーター
- unary(1つのオペランドが必要)a。 typeof番号、文字列、ブール
- バイナリ(2つのオペランドが必要)a。算術: +、 - 、_、 /、%(モジュラス)優先順位演算子:Kurung、Kali、Divide、Add、Less。 b。割り当て:=、 +=、 - =、_ =、 /=、%= c。比較(比較):==、! =、===、! ==、>、> =、<、<= D.論理:&&、||、! e。文字列:累積 +
- 三元(3つのオペランドが必要)a。条件付き(条件)?正しい:間違っている(x%2 == 0)? 「偶数」:「奇妙」
文字列エスケープ文字
- 0 = null
- '='
- "="
- =
- n =新しい行
- t =タブ
- bバックスペース
- uxxxx = unicode
変数
宣言:適切な範囲に変数を登録します。
初期化:変数のメモリを提供します。
割り当て:特定の値を変数に決定します。
変動要件:
- スペースなし。
- キャメルケース。
- 数字から始めていません。
- キーワードや予約済みの単語を使用しないでください。
- 可変スコープ:ローカルおよびグローバル。
var、let&const
リファクタリング:機能を変更せずにコードを改善するプロセス。
Alasan:
- Readability
- DRY, dont repeat yourself
- Testability
- Performance
- Maintainability
制御フロー
繰り返し(ループ)
a。 while(条件){アクション}; b。 while(終了条件)の初期値{アクション;増分/減少; }
for(初期値;終了条件;増分/減少){アクション; }
for for(string、array、arguments、typedarray、map、set、user-defined iterables)const name = 'rama'; for(名前のconst n){console.log(n); }
for in(enumerable / property from object)const mhs = {name: 'rama'、age:29、email: '[email protected]'、}; for(m in mhs){console.log(mhs [m]); }
しばらくしてください
選択(選択)
- if(条件){アクション1; } else {アクション2; }
- elseの場合(条件1){アクション1; } else if(条件2){アクション2; } else if(条件n){アクションn; } else {default action; }
- スイッチスイッチ(式){case "value 1":アクション1; [break;] case "value 2":アクション2; [break;] case "value n":アクションn; [break;]デフォルト:デフォルトアクション[break;]}
関数
範囲
- グローバル /ウィンドウスコープa = 1; console.log(a);
- 関数スコープ関数テスト(){let b = 2; } テスト (); console.log(b);
- ブロックスコープ関数テスト(){let c = 3; console.log(c); } テスト ();
再帰:自分自身を呼ぶ関数。
実装:
- ループの交換
- フィボナッチシリーズ
- データリストの検索&検索リストとツリーの例:因子関数(n){if(n === 0)return 1; n * factorial(n -1)を返します。 }
データ構造
コンテクスト
- グローバルスコープの作成フェーズvar name = undefined name function = fn()。これはその関数自体です。
- 巻き上げウィンドウ=グローバルオブジェクトthis =ウィンドウ
- 実行フェーズ関数は、ローカル実行コンテキストを作成します
閉鎖
- 関数と関数の語彙範囲の組み合わせです。
- 親の範囲が完了しているにもかかわらず、親の範囲にアクセスできるときの関数。例:function namefunction(param1){return namalocalfunction(param2){function body}}宣言namevariable = namafunction(argument1); namevariable(argument2);
矢印関数
- 関数式よりも簡潔な別のフォーム。例:宣言識別子=(parameterlist opt)=> {function body}例:数字の数=(param1、param2)=> {function body}; //暗黙の返品
- これは、矢印関数の矢印関数でこれに適用できません。例:宣言namebject = function(param1){this.prperty1 = string; this.property2 =()=> {function body}; }宣言namevariable = new namebject();
高次関数
他の関数で動作する関数(引数 /返品値)。 JavaScriptは機能をオブジェクトとして扱います。理由:抽象化は、プログラムが大きいほど複雑さが高いため、プログラマーが混乱するため、プログラムを簡素化することです。
- array.pototype.map()
- array.pototype.filter()
- array.pototype.reduce()
リテラルテンプレート
その中の式を可能にする文字通りの文字列です。使用できます: ''; "";そして ;
バックティックで( )作ることができます:
- シングルライン文字列:
string text - マルチライン文字列:
string text 1 string text 2 string text 3 - 埋め込み式:
string text ${expression} string text - HTMLフラグメント
- 発現補間
- タグ付きテンプレート:
- HTMLタグの脱出 /消毒
- 翻訳と国際化(I18N)
- スタイルのコンポーネント
割り当ての破壊
JSでの表現により、Dr。Array / Property Dr. Objectの値を別の変数に解体することができます。
- 配列const try = ['one'、 'two'、 'three']; const [a、b、c] = try;
- オブジェクトconst mhs = {name: 'ramadyan'、age:25、email: '[email protected]'、}; const {name、age、email} = mhs;
- 関数
スプレッドオペレーター
Itleblesを単一の要素に分割する演算子。
RESTパラメーター
無制限のJumalhを配列にする関数の引数を表します。
同期と非同期
- シングルスレッドとマルチスレッド環境実行タスク
- ブロッキングvsノンブロッキングngoding手法(入出力に関連する)
- 同期と非同期ngodingエンジニアリング(HTTPリクエスト関連)
- 同時対並列環境実行タスクタスク(インフラ、ハードウェア、仮想化に関連する)
折り返し電話
関数は、別の関数のパラメーターとして送信されます。
例:function namefunction(namacallback){valis = valueの宣言; callback(names); } namefunction((namevar)=> {console.log(execution);});
約束
将来の非同期イベントの成功 /失敗を表すオブジェクト。約束(満たされた /拒否 /保留)。 callback => action(resolve => then / requeject => catch / pending => flulaly)を使用します。
例:var1 = valueの宣言; const namevar2 = new Promise((Resolve、requed)=> {if(namevar1){resolve(value);} else {requeject(value);}}); namesvar2 .that((response)=> console.log(execution)).catch((response)=> console.log(execution));
ajax&fetch
Fetchは、API JSの方法であり、ネットワークからリソースを取得し、利用可能な応答がある場合に完全な約束(フルフィル)を返します。表記:Fetch(Resources、init);
- リソース:URL /リクエストオブジェクト(ソースリクエストの表現)。
- init:オブジェクトリクエストの追加構成(例:get、post、method、header、cacheなど)
- 応答:Dr。Fetchの結果は、約束の形で(プロパティと方法)。
async&await
- 非同期(イベントループを介して)動作する関数、
- 返品値として(暗黙の)約束を生み出します、
- ただし、同期書き込み(標準)を使用してコードを書き込む方法。
Async関数には、約束が終了するのを待っている間、その関数の実行を一時的に停止するために、待ち望んでいるキーワードを持つことができます(解決)。
DOM(ドキュメントオブジェクトモデル):ドキュメント内のHTML要素の表現はオブジェクトになります。 DOMツリーに保存されます。
DOMの利点:
Webドキュメントを表すオブジェクトベースのプログラミングインターフェイスとして。
DOMは、Webページのすべてのコンポーネントをアクセスして操作できるようにします。
コンポーネント:HTML要素、属性、テキストなど。
Dom Tree
- NodeList:ノードを含むコレクション。
- HTMLCollection:HTML要素を含み、ライブであるコレクション。
階層:
- ルートノード(ドキュメント):DOM内の他のすべてのノードのソースであるノード。
- 親ノード:別のノードの上に1つのレベルのノード。例:体は親であるH1、P、Div&A。
- チャイルドノード:別のノードの1レベルの1つのノード。例:H1は子供の博士です。
ノードタイプタイプ/ノード:
- 要素
- 属性
- 文章
- CDATAセクション
- エンティティリファレンス
- 実在物
- 処理命令
- コメント
- 書類
- ドキュメントタイプ
- ドキュメントフラグメント
- 表記
DOM選択
- HTMLで要素を使用するように:
- getrementbyid()=要素を生成します。
- getElementsByTagname()= htmlCollectionを生成します。
- getElementsByClassName()= htmlCollectionを生成します。
- CSSでセレクターを着用するようなもの:
- QuerySector()=要素を生成します。
- querysectorall()=ノデリストを生成します。
DOM操作
- 要素操作
- element.innerhtml =選択した要素の内容を変更します。
- Element.Style。 =選択した要素のスタイルを変更します。
- element.getAttribute()=属性の内容を知る。
- element.setttribute()=属性を追加します。
- Element.RemoveAttribute()=削除属性。
- element.classlist:
- add()=クラスの追加。
- 削除()=クラスを削除します。
- toggle()=クラスを追加しない場合は、ある場合は削除します。
- item()=インデックスでクラスをチェックします。
- contains()=問題のクラスを確認します。
- 置き換え()=クラスの変更。
- ノード操作
- document.createelement()
- document.createTextNode()
- node.ppendchild()
- node.insertbefore()
- parentNode.RemoveChild()
- parentnode.replacechild()
DOMイベント
- イベントハンドラー=最後のコマンドのみを実行できます。
- インラインHTML属性
- 要素メソッドオン
- addventlistener()=は何度も実行できます。
DOMトラバーサル
- parentNode = resultノード。
- ParentElement =要素の結果。
- NextSibling = resultノード。
- nextelementionbling =要素の結果。
- adcefibling =ノードの結果。
- 以前のElementsibling =要素の結果。
デフォルトの防止
- デフォルトのアクションを防ぐには、method:event.preventdefault()を使用します。
バブルイベント
- イベントが実行されると、子供に行く前に親のイベントを実行します。 event.stoppropagate()を使用しています。