学習プロセス中、あなたが過去に飲み込まれた場所は常に何度も何度も現れます。以下は、簡単に視聴するために今日学んだ知識ポイントを記録します。
JavaScriptのデータ型
シンプルな(基本的な)データ型:番号、文字列、ブール、未定義、ヌル
複雑な(参照)データ型:オブジェクト、配列、日付、関数など。
以下は、単純な(基本的な)データ型と複雑な(引用)データ型の違いの説明です。
シンプルなデータタイプ:下の図に示すように、値をスタックに直接保存します
複雑なデータタイプ:下の図に示すように、参照をスタックに保存します
上記の2つのデータ型のストレージ方法を理解した後、2つの違いを区別できます。次の演習を行うことができます。
var a = 10; var b = a; //質問:aの値を変更するとき、bの値はa = 20を変更します。 console.log(b); // 10
var s1 = new object(); var s2 = s1; // q:s1の属性を変更した後、S2の同じ属性がs1.name = "mh"; console.log(s2.name); // MH
function f2(arr){arr = [9,8,7,6,5]; //新しいオブジェクトを生成arr [0] = -100; } var array = [1,2,4,7,5]; F2(配列); console.log(array [0]); // 1JavaScriptの可変プロモーション、関数宣言、変動範囲
まず、次のインタビューの質問を見てみましょう。
var num = 10;楽しい(); function fun(){console.log(num); var num = 20; }私が学ぶ前に、私は直接10に答えます。今、javascriptで事前補償された概念を学び、私はvarキーワードを改善するという概念と機能の宣言の概念を知っています。上記のコードは次のコードと同等であることを知っています。
var num; //グローバルスコープは、varおよびfunction拡張機能fun(){var num; //ローカルユーザーがvar Console.log(num); num = 20; } num = 10;楽しい();次の質問を見てみましょう。
//質問:なぜ次のエラーが表示されるのですか? // Uncaught TypeRror:fnnameは関数console.log(fnname(1,2))ではありません。 var fnname = function(a、b){return a + b; }上記のコードは、次のコードと同等です。
var fnname; console.log(fnname(1,2)); fnname = function(a、b){return a + b; }関数は等しい符号の右側にあるため、VARのみが上昇し、「conged typeerror:fnnameは関数ではない」という誤差が報告されます。
変数の範囲を理解するには、次のコードを見ることができます。
f1(); console.log(c); console.log(b); console.log(a);関数f1(){var a = b = c = 20; console.log(c); console.log(b); console.log(a); }var a = b = c = 20;、そのような連続的な割り当ての場合、bとcのスコープはグローバルスコープである一方、局所範囲でaのみが宣言されます。したがって、Aのみがグローバルスコープでエラーを「猛攻撃の参照エラー:Aは定義されていない」と報告しています。
上記の基本的なJSエッセイ(ルーキーの必見の記事)は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。