JavaScript変数宣言の知識点
2688 ワード
先週の木曜日に昼食を食べて、leaderはJavaScriptのテーマを送って私たちに作ってくれました.私たちのチームの中にはフロントエンドを作ったり、バックグラウンドを作ったり、mobile webに座ったりしていました.だから、みんなのテーマに対する理解はそれぞれ違います.それからQQ討論グループで討論します.発見は基礎的だが、討論を通じて多くの収穫を得て、分かち合った.もちろん開発経験のある開発者から見れば、これらはJavaScriptを学ぶ最も基礎的なものです.普段はjQueryや第3 JSコンポーネントを使っているので、JavaScriptの基礎学習はあまり重視されていません.2回alertでそれぞれどんな結果を出力しますか?
私の答えは:1.undefined 2.undefined.そしてリーダーは質問の答えをもう一度よく考えてみましょう.私のテーマの分析:
1.aを宣言して1に値を割り当て、aを再宣言しますが、この場合は値が割り当てられていません.変数のデフォルト値はundefinedである必要があります.
2.b変数は関数内で局所変数であり、alert内で出力されるのはグローバル変数bであるためundefiendである.
私はChromeでコードを実行しました.コードが正しい結果は1です.number 2.undefined.ここではJavaScriptの変数宣言先行概念を考察する.
次のような別の例を見てみましょう.
プログラムは間違っていません.ただ、実行結果は:Hello World!です.原理:コンピュータは文の実行を開始する前に、すべてのfunction定義を検索し、関連するfunctionを保存します.
第1題:
var a = 1;
var a;
2行目の宣言変数aは、上部でaを宣言したことに相当し、最初の文はaを再宣言し、1に値を付与する.だからtypeof aはnumber
第2題:
b = '-----';
var b;
第2題の解析:b='----'、プログラムはまずコンテキストに変数bの声明があるかどうかを探して、もしあるならば、直接'----'に値を割り当てます.しかしalert(typeof b);関数の外に出力されるグローバル変数bであり、すべてundefinedである.
変数の付与操作は事前に行われていないことに注意してください.
次に、次のコード・セグメントを参照します.
結果を書いてください.
解析は、次のコード・セグメントで記述できます.
しかし、次のコードセグメントでは、実行結果は何ですか?
プログラムの実行結果はstring,stringです.ここでめまいがして、どのように分析して説明するか分かりません.表明上は変数宣言を早めに理解したと思いますが、学習方法で上のコードセグメントを分析すると、間違った結果が得られます.では、変数の付与は、関数の外部(グローバル変数)と関数の内部(ローカル変数)と関係がありますか?
type="text/javascript">
<br> var a = 1;
<br> var a;
<br> alert(typeof a);
<p></p>
<p> (function () {<br> b = '-----';<br> var b; <br> })();<br> alert( typeof b);<br>
私の答えは:1.undefined 2.undefined.そしてリーダーは質問の答えをもう一度よく考えてみましょう.私のテーマの分析:
1.aを宣言して1に値を割り当て、aを再宣言しますが、この場合は値が割り当てられていません.変数のデフォルト値はundefinedである必要があります.
2.b変数は関数内で局所変数であり、alert内で出力されるのはグローバル変数bであるためundefiendである.
私はChromeでコードを実行しました.コードが正しい結果は1です.number 2.undefined.ここではJavaScriptの変数宣言先行概念を考察する.
次のような別の例を見てみましょう.
test();
function test(){
alert("Hello World!");
}
プログラムは間違っていません.ただ、実行結果は:Hello World!です.原理:コンピュータは文の実行を開始する前に、すべてのfunction定義を検索し、関連するfunctionを保存します.
第1題:
var a = 1;
var a;
2行目の宣言変数aは、上部でaを宣言したことに相当し、最初の文はaを再宣言し、1に値を付与する.だからtypeof aはnumber
第2題:
b = '-----';
var b;
第2題の解析:b='----'、プログラムはまずコンテキストに変数bの声明があるかどうかを探して、もしあるならば、直接'----'に値を割り当てます.しかしalert(typeof b);関数の外に出力されるグローバル変数bであり、すべてundefinedである.
変数の付与操作は事前に行われていないことに注意してください.
次に、次のコード・セグメントを参照します.
<br>name="aaa";
<br>function test(){
<br> alert(typeof name);
<br>
<br> var name="bbb";
<br> alert(typeof name);
<br>}
<br>test();
<br>
結果を書いてください.
解析は、次のコード・セグメントで記述できます.
name="aaa";
function test(){
alert(typeof name);// name , 。 , undefined
var name="bbb";//
alert(typeof name);//string
}
test();
しかし、次のコードセグメントでは、実行結果は何ですか?
<br>alert(typeof name);
<br>var name="hello world";
<br>alert(typeof name);
<br>
プログラムの実行結果はstring,stringです.ここでめまいがして、どのように分析して説明するか分かりません.表明上は変数宣言を早めに理解したと思いますが、学習方法で上のコードセグメントを分析すると、間違った結果が得られます.では、変数の付与は、関数の外部(グローバル変数)と関数の内部(ローカル変数)と関係がありますか?