84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
JavaScript では、グローバル変数がグローバルに宣言されると、それは同じ名前のグローバル オブジェクトのプロパティになります。しかし、ローカル変数は関数内で宣言しても関数(オブジェクト)の属性にはならず、「関数名.属性名」で宣言する必要があるのですが、これはなぜでしょうか?
次のように理解できます:
関数内で宣言された変数は、関数オブジェクトではなく、関数実行コンテキストオブジェクトに属しますグローバル環境で宣言された変数は、グローバル実行コンテキストオブジェクトに属し、このコンテキストオブジェクトがグローバル環境オブジェクトです
理由はない、これがルールだ。
歴史の問題。混乱を避けるために厳密モードを使用することをお勧めします。
これが意味するなら `function test(){
}`//更新、エラー修正。 質問者さんは基本をよく見ています。
jsはとても柔軟な関数変数のスコープ問題だと思います^~^ ^~^
JavaScript では、グローバル変数がグローバルに宣言されると、同じ名前のグローバル オブジェクトのプロパティになります。ローカル変数は関数内で宣言されると、関数の属性であるローカル オブジェクトになるため、最初に関数にグローバルにアクセスしてから、関数内のローカル変数にアクセスする必要があります。
機能スコープ
次のように理解できます:
関数内で宣言された変数は、関数オブジェクトではなく、関数実行コンテキストオブジェクトに属します
グローバル環境で宣言された変数は、グローバル実行コンテキストオブジェクトに属し、このコンテキストオブジェクトがグローバル環境オブジェクトです
理由はない、これがルールだ。
歴史の問題。混乱を避けるために厳密モードを使用することをお勧めします。
リーリーこれが意味するなら
リーリー`function test(){
}`
//更新、エラー修正。
質問者さんは基本をよく見ています。
jsはとても柔軟な関数変数のスコープ問題だと思います^~^ ^~^
JavaScript では、グローバル変数がグローバルに宣言されると、同じ名前のグローバル オブジェクトのプロパティになります。ローカル変数は関数内で宣言されると、関数の属性であるローカル オブジェクトになるため、最初に関数にグローバルにアクセスしてから、関数内のローカル変数にアクセスする必要があります。
機能スコープ