JSブラウザは、データ型と種別判定を解析し、

###ブラウザ解析します。
- 1.ブラウザ(コアエンジン)JSを解析し、レンダリング時にすると、JSは、実行中の環境を提供します、この環境は、「グローバルスコープ(バックエンドのグローバル/顧客サービス側の窓スコープ)」と呼ばれています
- コードが上から下に実行される。2.(前可変アップ段階があります)
現在のスコープに格納されている=>基本データ型の値、
`` `
= 12があります。
VaRのB =; JSコード自体がスタックメモリの動作環境であり、基本的なタイプの課金位置を記憶するためのスタックメモリに記憶されています。
B = 13。
console.log(A)。

そこOBJ1 = {N:100}。
VAR OBJ2 = OBJ1;参照オブジェクト記憶手段に記憶された情報値の種類にヒープメモリ対象コード列記憶された機能物質、キーと値のペアであります
OBJ2 [ 'N'] = 200。
console.log(obj1.n)。// => 200
`` `
= 12があります。
VaRのB = 13;及び(b)は、操作の値に応じて、任意の関係を有していません
1)まず、店舗12にスペースを開きます
2)現在の変数のスコープ(VAR aの声明)
3)そのステートメント変数と12(12とストレージに割り当てられた仲間の記憶を行う=>割り当てと呼ばれる定義)
=>基本的なタイプは、アクションの値に応じて、また、値型として知られている再割り当て、基本データ型、以下のとおりです。元の値のコピー、スペース、元の値とは何の関係上の新しい場所に

(内容はあまりにも複雑格納されていてもよいので)=>参照型の値は、我々は新しいスペース(すなわち倉庫)のボックスを開く必要があり、現在のスコープに直接このスペースに格納されたコンテンツを格納することはできません
 
そこOBJ1 = {N:100}。
1)まず、新たなメモリ空間を開き、順番に(記憶されたこのキーオブジェクト)はバックが、この空間は、この空間ヘクスを見つけることができることを保証するために
2))は可変とアドレス空間(変数に割り当てられたスペースに関連付けられた、変数を宣言

参照型は、それが参照するアドレス動作どのスペース、フォローする値ではありません。新しい変数に元の空間の割り当てのアドレスが、元の空間は他のクローン、またはスペースがないと、とても同じに関連付けられた変数の数がありますスペース、
値タイプだろう、二つの変数の関連付けを聞かせて関連付ける参照型ではありません。
*メモリの対象範囲は、スタックメモリの内部と呼ばれます

###
- 1.形成グローバルスコープ
- 前記コードは、上から下に実行されます。
新しいメモリヒープを開き、ヒープメモリキーと値のペアストレージ
N:10、
M:obj.n * 10 => obj.n場合ヒープメモリの記憶情報がまだ完了していない、この場合には、アドレス空間が指定されていないOBJ OBJ underfined、obj.n IS underfined.n
`` `
VAR OBJ = {
N:10、
M:obj.n * 10
}。
console.log(obj.m)。
未定義のプロパティを読み取ることができません「N」:VM165:3キャッチされない例外TypeError
<匿名>で:3:11
`` `
正しい出て行け。
`` `
VAR OBJ = {
N:10、
}。
obj.m = obj.n * 10。
console.log(obj.m)。
=> VM207:6~100
`` `
裁判官文### JS
- 1.if /他/他の場合
`` `
VAR NUM = 12;
IF(NUM> 10){
++;
}そうであれば(NUM> = 0 && NUM <= 10){
num--;
}他{
A + = 2;
}
console.log(NUM)。=> 13
`` `
* `条件はない判定executed`に関係なく、条件の成立の背後にあるかどうかの、満たされているがあります
どのような条件について書くには?
//> = / <= / ==(従来の比較等)、4%、2%剰余=> 0
`` `
IF(0){
// =>どんなに条件付きで書かれているものを、最終的に合計「」は、(その真/偽の判定条件が成立して計算するブール型に他の値が、唯一の0、NaNの必要があり、ヌル、underfined偽です、残りは)真であります
}

IF( '3px' + 3){
// => JSで+ - * /%+以外のすべての数学演算の。それらが非数値型の値である場合、残り時間オペレータ、最初デジタル種別(番号)に変換され、操作を実行しています
'3px' + 3 => '3px3'
}
IF( '3px'-3){
「3px'-3 =>のNaN
}
(NaNを> 3)=> FASLE場合
 
構文:
(({})> 5)場合
構文直接テストコンソール({})> 5 'STR'> 5
`` `
BAT面の質問:
`` `
VAR NUM =のparseInt( '幅:35.5px');
IF(NUM == 35.5){
警報(0);
}そうであれば(NUM == 35){
警告(1);
}エルス(NUM ==のNaN){// => NaNに、および任意の数が等しくない場合
警告(2);
}そうであれば(typeof演算NUM == '番号'){
警告(3); // =>警報出力文字列フォーマット '3' です
NUMのtypeof // =>最初の演算子
// =>比較ん
}他{
警告(4);
}

`` `

### typeof演算
いくつかの方法JS検出タイプの>一つは、他の
> instanceofは
>コンストラクタ
> Object.prototype.toString.call()

`` `
構文:typeof演算[値] =>検出値データ型
戻り値:検出結果は、データの列であるはいタイプが含まれています。例えば:「数」/「文字列」/「ブーリアン/」underfined「/」オブジェクト「/」機能 "
12のtypeof => "数"
代表的なヌルヌル・オブジェクト・ポインタとしてtypeof演算ヌル=>「オブジェクト」(NOメモリ空間)
typeof演算関数(){} => "機能"
typeof演算/ ^ / => "オブジェクト"
真=> "ブール" typeof演算
`` `
`* typeof演算アレイ検出/レギュラー/オブジェクト、およびリターンがある「オブジェクト、欠点は、オブジェクトが破壊されないことです。」`

インタビューの質問:
`` `
console.log(typeof演算[])=> "オブジェクト"
console.log(typeof演算typeof演算[])=>タイプ "オブジェクト" => "文字列"
`` `



おすすめ

転載: www.cnblogs.com/fron-tend/p/11968198.html
おすすめ