オリジナル:http://blog.gqylpy.com/gqy/238
"
ディレクトリ
#機能
1.定義
- 基本的な機能:
![ここに挿入した画像](http://blog.gqylpy.com/media/ai/2019-03/11a8f5e8-0fbf-4027-9a91-59ea12ba0eee.png) - 関数の引数:
![ここに挿入した画像](http://blog.gqylpy.com/media/ai/2019-03/bfa64a72-fc90-4519-9904-3c17ee10988f.png) - :値を返す機能付
![ここに挿入した画像](http://blog.gqylpy.com/media/ai/2019-03/cf780306-41b7-4403-8190-1d08229696ae.png) - 匿名関数:
![ここに画像の説明を挿入](http://blog.gqylpy.com/media/ai/2019-03/afa4d79c-89b8-467b-a2cd-ff51c8b2fe2d.png) - 以来機能が実行:
![ここに画像の説明を挿入](http://blog.gqylpy.com/media/ai/2019-03/495f1bba-75ed-4192-a499-9f166160aa54.png) - ES6は「矢印」(=>)定義された関数を許可されています
![挿入ここで説明した画像](http://blog.gqylpy.com/media/ai/2019-03/fdc1c5d5-449b-4ba5-a275-26364a3e1b55 .PNG)
JavaScript関数ピット:
- 関数の戻り値は、より多く書かれていますが、あなたは、複数の値を返す配列またはオブジェクトを使用したい場合にのみ、最後を返すことができます。
- 関数のパラメータは、予め定義されたパラメータの総数よりも多かれ少なかれを通過することができます。
-
// 1.此时传入的参数少于已定义的参数:
-
function func(a, b) {
-
console.log(a, b);
-
}
-
-
func(
1);
// 返回值:1 undefined
-
//(因为未定义第二个参数,所以其打印的值为undefined)
-
-
-
-
// 2.此时传入的参数多于已定义参数:
-
function func2(a, b) {
-
console.log(a + b);
-
}
-
-
func1(
1,
2,
3,
4);
// 10
-
-
-
-
// 3.此时未定义参数:
-
function func3() {
-
var ret =
0;
-
for (
var i=
0;i<
arguments.length;i++) {
// 使用for循环求和
-
ret +=
arguments[i];
-
}
-
return ret;
-
}
-
-
func3(
1,
2,
3,
4);
// 10
2.引数パラメータ
![ここの挿入の説明](http://blog.gqylpy.com/media/ai/2019-03/5f2092e7-658e-4026-bf79-3a275da91070.png)
通常、渡される引数の合計数を取得するために使用:
![ここに画像の説明を挿入](http://blog.gqylpy.com/media/ai/2019-03/d463a8b4-fc4f-48de-a19e-16a0126b3764.png)
3.グローバル変数とローカル変数
ローカル変数:
(VARを使用して)JavaScript関数内で宣言された変数はローカル変数なので、関数の内部でのみアクセスすることができますが(変数のスコープは内部関数です)、限り、機能の実行が終了されると、ローカル変数は削除されます。
グローバル変数:
関数の外で宣言された変数はグローバル変数であり、ページ上のすべてのスクリプトと関数がそれにアクセスすることができます。
可変ライフサイクル:
。彼らは宣言された時から、JavaScriptの変数の生命
機能の実行が終了した後、ローカル変数は削除されます。
グローバル変数はページの終了後に削除されます。
4.解析
JavaScript関数が呼び出され、それは字句解析を行います。
氏は字句解析では、目標有効にするには次のようになります。アクティブオブジェクト(AO)を、以下の3つの側面を分析します。
- 関数のパラメータは、このパラメータは、AOに割り当てられた、と定義されていない場合。そうでない場合は、その後何もしません。
- AO上の操作を行わない場合、この変数はAOに割り当てられているではない場合は、同じ名前のローカル変数を関数と定義されていません。
- AOはAO上のオブジェクトによってカバーされる場合、関数の宣言は、そうでない場合は、その後何もしません。
内部関数のパラメータまたはローカル変数を使用するかどうかは、AOに探しています。
例1:
![ここに挿入した画像](http://blog.gqylpy.com/media/ai/2019-03/72a1f616-93e3-4d22-94dc-81750e0b99e9.png)例2:
![ここに挿入した画像](http://blog.gqylpy.com/media/ai/2019-03/bccc6d9b-a999-41db-85cd-5b5ef18be59d.png)字句解析のプロセス:
- 分析パラメータ、及びAO.name = UNDEFINEを形成するパラメータ1。
- 変数宣言の分析は、我々は、したがって、任意の処理をせずに、上記AO.name AOを発見した、VAR名があります。
- 分析関数宣言、オリジナルのカバー年齢AO.name =関数に入れ関数名(){...}文、(){...};
:(の実行、実行中のすべての値は、AOからオブジェクトを探しています)
- 最初にconsole.log(名前)を行う、AO.nameこの場合は、第一の出力の関数であり、関数です。
- 語句VAR名=「kyz」; AO.nameはAO.nameは=「kyz」その場合には、属性割当てである、第二の出力は「kyz」となるように
- 同様に、第3の出力または「kyz」。
#組み込みオブジェクトとメソッド
すべてはJavaScriptでのオブジェクトです:文字列、数値、配列、日付など
のJavaScriptでは、オブジェクトは、データのプロパティとメソッドを持つことです。
タイプ | ビルトインオブジェクト | 入門 |
---|---|---|
データの種類 | 数 | デジタルオブジェクト |
弦 | Stringオブジェクト | |
ブーリアン | ブール値オブジェクト | |
オブジェクトのグループ化 | アレイ | オブジェクトの配列 |
数学 | 数学的対象 | |
日付 | 日付オブジェクト | |
高度なオブジェクト | オブジェクト | カスタムオブジェクト |
エラー | Errorオブジェクト | |
関数 | Functionオブジェクト | |
正規表現 | 正規表現オブジェクト | |
グローバル | グローバルオブジェクト |
注VAR S1 = 'ABC';と; VAR s2は=新しい文字列( ' ABC') 区別:
[ここに挿入した画像](http://blog.gqylpy.com/media/ai/2019-03/! 47961b1b-b162-460b-8f5d-9991672e60d5.png)
1.カスタムオブジェクト
値のセット(ハッシュ構造)、キーが文字列(ハッシュ可能)でなければならない - JavaScriptオブジェクト(オブジェクト)は、自然の中での結合です。
二つの方法の値:
![ここに挿入した画像](http://blog.gqylpy.com/media/ai/2019-03/6ebbdc68-12de-427f-b2c2-241714adde58.png)
トラバースコンテンツオブジェクト:
![ここに画像の説明を挿入](http://blog.gqylpy.com/media/ai/2019-03/d60f5b7c-474f-43e4-bbbf-395a6562204d.png)
オブジェクトの作成:
![ここに画像の説明を挿入](http://blog.gqylpy.com/media/ai/2019-03/72d2821c-4b54-498c-b2a6-2175f189e0ff.png)
注:
ES6地図データ構造のために提供され、オブジェクトと同様であるが、キーれる-セットの値が、範囲はキー文字列に限定されるものではなく、(オブジェクトを含む)様々なタイプの値は、キーとして使用することができます。
つまり、オブジェクトの構造は、文字列を提供します-対応する値、ハッシュを達成するためのより良い構造である-の値に対応する、マップ構造は、値が提供されます。
地図には反映しています
!(http://blog.gqylpy.com/media/ai/2019-03/daa8056c-e5c2-429e-9972-531705f1e220.png)[ここで絵の説明を挿入します]
相続の2クラス
-
などの基本操作:
![挿入ここで説明した画像](http://blog.gqylpy.com/media/ai/2019-03/1855d7a3-ae44-4481-8ad4-de33ec0e2e03.png) -
継承(続き図):!
[ここに画像の説明を挿入](http://blog.gqylpy.com/media/ai/2019-03/a4e75e0c-46f8-41d8-bc86-5957ebf66fca.png)
3. 日付
- 指定されていない場合、デフォルトは現在の時刻です:
![ここに画像の説明を挿入](http://blog.gqylpy.com/media/ai/2019-03/53adc635-a20e-4497-b86f-4abd4f539fab.png) - 文字列の指定した時間が、日付の区切りがかもしれ「 - 」または「/」:
![挿入ここで説明した画像](http://blog.gqylpy.com/media/ai/2019-03/e765cd49-8374- 4230-9fcc-2ea1f83ef1bc.png) - ミリ秒数を指定します:
![挿入ここで説明した画像](http://blog.gqylpy.com/media/ai/2019-03/e0a48b44-d99f-4338-9c1b-07d7f26182e9.png) - 年、月、日、時、分、秒、ミリ秒のパラメータは:
!http://blog.gqylpy.com/media/ai/2019-03/698e0107-a40c-4c16-9d27([ここに画像の説明を挿入します] -3a8e0cbc16ba.png)
方法 | getDate() | getDay() | getMonth() | getFullYear() | getYearメソッド() | 次に、getHours | getMinutes() | getSeconds() | getMilliseconds | 時間をもらう() |
説明 | 日 | 週 | 月(0-11) | 通年 | 年 | とき | 分割 | 第2 | ミリ秒 | ミリ秒単位の累積数(初期開始時間) |
4. JSON
- JSON.stringify(OBJ):シリアル化
- JSON.parse(OBJ):直列化復元
![ここの挿入の説明](http://blog.gqylpy.com/media/ai/2019-03/ca07f635-8202-4281-bae9-46434cb6d14d.png)
5. 正規表現
基本的なマッチングの構文:
!は(http://blog.gqylpy.com/media/ai/2019-03/fec8c730-95cd-46aa-8a88-218ce2f3a175.png)[ここで絵の説明を挿入]
[ここで絵の説明を挿入します! (http://blog.gqylpy.com/media/ai/2019-03/85ae3921-c344-4598-9c44-e0cebf52c4e6.png)
JavaScriptの正規ピット:
- ない限り、絶対に必要でルールをマッチング、スペースを残していません。
- グローバルフラグで再場合はG 、その後、re.test()関数は、必ずしも最初から探し始めるが、からしないre.lastIndex インデックス指定された場所を探して起動します
![ここに画像の説明を挿入](のhttp:// )は、第2の(またはそれ以上を見つけるために、ゼロからスタートしたい場合blog.gqylpy.com/media/ai/2019-03/ff078cdf-ceec-402d-b1f9-ce779a4c19cd.png)したがって、あなたはのlastIndexの手作業で行う必要があり値が0にリセットされます。 - re.test()が指定されていない場合は、デフォルトのマッチが未定義:!
[挿入ここで説明した画像](http://blog.gqylpy.com/media/ai/2019-03/99c7e933-c98a-422e-be97-9931b59911f4 .PNG)
6. 数学
- ABS(n)は:の絶対値を返し
- EXP(n)は:インデックスeを返します。
- 床(N):丸めのために実行したときの数
- (n)のログ:の数の自然対数(底e)を返し
- MAX(x、y)は: xとyの最大値を返します
- 分(x、y)は: xとyの最小値を返し
- POW(X、Y): Y xのパワーを返し
- ランダム(): 0と1の間のランダム小数を返します
- ラウンド(N):丸め(数学JavaScriptは単一の入口及び二重バックされていません)
- 罪(n)は:の正弦を返します。
- SQRT(n)は:の数の平方根を返します。
- :黄褐色(N)角度の正接を返し
ランダム生成の乱数:
![挿入ここで説明した画像](http://blog.gqylpy.com/media/ai/2019-03/5fdfa360-2ca5-45bb-aed8-ec45abcf3458.png)
"