84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
タイトル通りです。 。 。理由を明らかにする###
その理由は name特別で、ブラウザは値を割り当てるときに強制的に文字列に変換します。
name
window には組み込みのプロパティがあるためname,所以你在全局下声明name其实就是在给window.name赋值。关于window.name。类似的属性还有status、名前をグローバルに宣言すると、実際には window.name に値を割り当てることになります。 window.name について。同様の属性には、status などが含まれます。
status
なのでname1を使っても問題ありません。実際、非グローバル環境で name を使用する場合、またはノードのグローバル環境で name を使用する場合、カンマはありません。
name1
皆さん、name はキーワードです。変数に名前を付けるためにこれを使用しないでください。 typeof を実行すると、name が文字列で name1 がオブジェクトであることがわかります
スコープがグローバルなので、定義したとおりですname 变量相当于 window.name 它是一个特殊的全局变量 任何值赋值给它都会进行 toString 操作这里你将数组给 window.name実際に出力してみると、それが配列ではなく文字列であることがわかります文字列はループを使用して走査できるため、カンマが出力されます
window.name
toString
解決策: グローバル スコープを使用せず、自己実行関数のレイヤーを追加しないでください
または、ES6 的 letキーワードを使用して変数を定義します
ES6
let
コンソールに直接出力すると配列が文字列として扱われるため
試してみたところ、変数名に問題があるようで、名前であればすべての文字が出力されます。具体的な理由は不明
name は js の属性名であり、予約フィールドであるため、for in がこのフィールドをループするとき、文字列として処理されるため、文字列内のすべての文字が出力されます
その理由は
リーリーname
特別で、ブラウザは値を割り当てるときに強制的に文字列に変換します。window には組み込みのプロパティがあるため
name
,所以你在全局下声明name其实就是在给window.name赋值。关于window.name。类似的属性还有status
、名前をグローバルに宣言すると、実際には window.name に値を割り当てることになります。 window.name について。同様の属性には、status
などが含まれます。なので
name1
を使っても問題ありません。実際、非グローバル環境で name を使用する場合、またはノードのグローバル環境で name を使用する場合、カンマはありません。皆さん、name はキーワードです。変数に名前を付けるためにこれを使用しないでください。
typeof を実行すると、name が文字列で name1 がオブジェクトであることがわかります
スコープがグローバルなので、定義したとおりです
リーリーname
变量相当于window.name
它是一个特殊的全局变量 任何值赋值给它都会进行
toString
操作这里你将数组给
window.name
実際に出力してみると、それが配列ではなく文字列であることがわかります文字列はループを使用して走査できるため、カンマが出力されます
解決策: グローバル スコープを使用せず、自己実行関数のレイヤーを追加しないでください
リーリーまたは、
ES6
的let
キーワードを使用して変数を定義しますコンソールに直接出力すると配列が文字列として扱われるため
試してみたところ、変数名に問題があるようで、名前であればすべての文字が出力されます。具体的な理由は不明
name は js の属性名であり、予約フィールドであるため、for in がこのフィールドをループするとき、文字列として処理されるため、文字列内のすべての文字が出力されます
。