入門と階段第二三章
16328 ワード
JavaScriptに入る
値とタイプ
-利用可能なビルドタイプ
-string、number、bollan
-nullとundefined、object、smbol(ES 6新規タイプ)
-typeof a-->aの値の種類を問い合わせる,>typeof null-->"object"
オブジェクト
-object-->プロパティを設定することができます.
-点記号法(obj.a)>>読みやすく、優先
-四角括弧マーカー(obj["a]]]->属性(キー)名には特殊文字が含まれます.
var obj={
a:「ハローワールド」
b:42
}
var b="a"
obj[b] //「ハローワールド」
obj[b]; //42
-配列と関数->objectタイプの特化バージョン
行列
-1つの配列-->1つのobjectは、デジタルインデックスの位置を使用します.
関数
-objectのサブタイプ->「function」
内向きの方法
-基本タイプ値-->「箱を閉じる」は、対応する対象包装器である(操作は裏側に隠れている)
値の比較
-強制変換-->明示的/暗黙的
-falsy-->"/0、-0、NaN/null、undefined/false
-truthy-->その他(配列、オブジェクト、関数...)
-等価性
-==和===>=強制変換条件で検査値の等価性を許可する(==許可せず、厳密に等価)
-比較値にはtrue/false、0/"/[]--用==があります.
-基本値でない(object...)>簡単なチェック引用(arrayはデフォルトではコンマでstringに変更されます)
-関係比較-->NaNはすべての数値値に等しくないものより大きくない.
変数
-変数名-->合法的な識別子(予約ワード)
関数のスコープ
-var変数->は、現在の関数スコープ(最上階->グローバルスコープ)に属します.
-昇格-->varの声明はスコープ全体に作用し、スコープのどの位置からもアクセスできます.
-ネストのスコープ
-let-->個々のブロックに属する変数を宣言します.
条件
-if、switch、条件操作子(三元操作子)
Strictモード
-特定の行動のルールを強化しました.より安全で合理的で、より最適化可能性が高いです.
-「use strict」、->varを省略してはいけません.自動グローバル変数宣言が含まれています.
関数を値として
-匿名関数式/命名関数式
-すぐに呼び出される関数式(IIIFE)
包みを閉じる
-関数が実行されていても、覚えて関数のスコープにアクセスし続けることができます.
this識別子
-thisは関数自体ではありません.
正体
古いものと新しいもの
-Polyfillingを埋める唯一の自分と同じではない値-->NaN
-トランジットpilingを訳せば、パラメータのデフォルト値として明確に伝達できない値-->undefined
Java Scriptではない
-大部分のコードは直接javaScriptコントロールではありません.
-DOM API
-document、getElement ById()、alert()、consolie.log()、、、
第三章:YDKJSに入る
スコープとクローズド
-JSは「解釈言語」ですので、コンパイルされない-->エラーです.
-JSエンジンは、あなたのコードの実行前に(実行中に)コンパイルされます.
thisとオブジェクトの原型
-thisとは、その関数のことです.
-this関数に従ってどうやって実行されるかを動的に結合します.
-対象原型属性-->「行動依頼」
タイプと文法
-タイプ強制変換->コードで使用すべき
非同期とパフォーマンス
-コールバック-->非同期の主な方法(二つの欠点)
-制御反転(IoC)信頼喪失
-線形の推理性に欠ける
-ES 6は2つの新しい機構(モード)を導入する.
-プロミス
-ゲナート
ESと未来
-解凍、パラメータのデフォルト値、smbol、簡潔な方法、属性、矢印関数、ブロック作用領域、promise、generator、iterator、モジュール、エージェント、weakmap、、、、
-JavaScriptの勉強は最終目標ではなく、プロセスです.
値とタイプ
-利用可能なビルドタイプ
-string、number、bollan
-nullとundefined、object、smbol(ES 6新規タイプ)
-typeof a-->aの値の種類を問い合わせる,>typeof null-->"object"
オブジェクト
-object-->プロパティを設定することができます.
-点記号法(obj.a)>>読みやすく、優先
-四角括弧マーカー(obj["a]]]->属性(キー)名には特殊文字が含まれます.
var obj={
a:「ハローワールド」
b:42
}
var b="a"
obj[b] //「ハローワールド」
obj[b]; //42
-配列と関数->objectタイプの特化バージョン
行列
-1つの配列-->1つのobjectは、デジタルインデックスの位置を使用します.
var arr = [
"hello world",
42,
true
];
arr[0]; // "hello world"
arr[1]; // 42
arr[2]; // true
arr.length; // 3
typeof arr; // "object"
関数
-objectのサブタイプ->「function」
function foo() {
return42;
}
foo.bar ="hello world";
typeof foo; // "function"
typeof foo(); // "number"
typeof foo.bar; // "string"
内向きの方法
-基本タイプ値-->「箱を閉じる」は、対応する対象包装器である(操作は裏側に隠れている)
値の比較
-強制変換-->明示的/暗黙的
-falsy-->"/0、-0、NaN/null、undefined/false
-truthy-->その他(配列、オブジェクト、関数...)
-等価性
-==和===>=強制変換条件で検査値の等価性を許可する(==許可せず、厳密に等価)
-比較値にはtrue/false、0/"/[]--用==があります.
-基本値でない(object...)>簡単なチェック引用(arrayはデフォルトではコンマでstringに変更されます)
var a = [1,2,3];
var b = [1,2,3];
var c ="1,2,3";
a == c; // true
b == c; // true
a == b; // false
-非等価性-関係比較-->NaNはすべての数値値に等しくないものより大きくない.
変数
-変数名-->合法的な識別子(予約ワード)
関数のスコープ
-var変数->は、現在の関数スコープ(最上階->グローバルスコープ)に属します.
-昇格-->varの声明はスコープ全体に作用し、スコープのどの位置からもアクセスできます.
-ネストのスコープ
-let-->個々のブロックに属する変数を宣言します.
条件
-if、switch、条件操作子(三元操作子)
Strictモード
-特定の行動のルールを強化しました.より安全で合理的で、より最適化可能性が高いです.
-「use strict」、->varを省略してはいけません.自動グローバル変数宣言が含まれています.
関数を値として
-匿名関数式/命名関数式
-すぐに呼び出される関数式(IIIFE)
(functionIIFE(){
console.log( "Hello!" );
})();
// "Hello!"
-常に変数に使用します.>>IIIFEの外部コードに影響を与えません.包みを閉じる
-関数が実行されていても、覚えて関数のスコープにアクセスし続けることができます.
functionmakeAdder(x) {
// `x`
// `add()` `x`, `x` “ ”
functionadd(y) {
return y + x;
};
return add;
}
// `plusOne` `add(..)` ,
// `add()` `makeAdder(..)` `x`
//
var plusOne =makeAdder( 1 );
// `plusTen` `add(..)` ,
// `add()` `makeAdder(..)` `x`
//
var plusTen =makeAdder( 10 );
plusOne( 3 ); // 4
plusOne( 41 ); // 42
plusTen( 13 ); // 23
-モジュール-->外部から見られないプライベート実装の詳細(変数、関数)と外部にアクセス可能な共通APIを定義する.this識別子
-thisは関数自体ではありません.
functionfoo() {
console.log( this.bar );
}
var bar ="global";
var obj1 = {
bar:"obj1",
foo: foo
};
var obj2 = {
bar:"obj2"
};
// --------
foo(); // "global"
obj1.foo(); // "obj1"
foo.call( obj2 ); // "obj2"
newfoo(); // undefined
正体
var foo = {
a:42
};
// `bar` `foo`
var bar =Object.create( foo );
bar.b ="hello world";
bar.b; // "hello world"
bar.a; // 42 `foo`
古いものと新しいもの
-Polyfillingを埋める唯一の自分と同じではない値-->NaN
-トランジットpilingを訳せば、パラメータのデフォルト値として明確に伝達できない値-->undefined
Java Scriptではない
-大部分のコードは直接javaScriptコントロールではありません.
-DOM API
-document、getElement ById()、alert()、consolie.log()、、、
第三章:YDKJSに入る
スコープとクローズド
-JSは「解釈言語」ですので、コンパイルされない-->エラーです.
-JSエンジンは、あなたのコードの実行前に(実行中に)コンパイルされます.
thisとオブジェクトの原型
-thisとは、その関数のことです.
-this関数に従ってどうやって実行されるかを動的に結合します.
-対象原型属性-->「行動依頼」
タイプと文法
-タイプ強制変換->コードで使用すべき
非同期とパフォーマンス
-コールバック-->非同期の主な方法(二つの欠点)
-制御反転(IoC)信頼喪失
-線形の推理性に欠ける
-ES 6は2つの新しい機構(モード)を導入する.
-プロミス
-ゲナート
ESと未来
-解凍、パラメータのデフォルト値、smbol、簡潔な方法、属性、矢印関数、ブロック作用領域、promise、generator、iterator、モジュール、エージェント、weakmap、、、、
-JavaScriptの勉強は最終目標ではなく、プロセスです.