簡體   English   中英

無法將數組分配給全局變量“名稱”

[英]Can't assign an array to the global variable "name"

這令人難以置信地令人沮喪,尤其是考慮到它的簡單性。 簡單的javascript:

<script type="text/javascript">

var name = new Array("cat","dog");

document.write(name[1]);

</script>

此腳本打印:“a”(如“cat”中的“a”...又名 name[0][1]...)。

然而,當我將其更改為 document.write(name) 時,它會打印整個數組(即“cat,dog”)。 為什么上帝的愛是這個簡單的數組無法打印整個字符串(應該是“狗”)?!

全局變量name是指現有的window.name屬性,該屬性用於設置瀏覽器窗口的名稱。 它將分配給它的任何值轉換為字符串:

 window.name = [1, 2, 3]; console.log(typeof window.name, window.name);

如果您將變量名稱更改為例如names ,它將按預期執行。

當然,在函數作用域范圍內使用name可以正常工作。

你應該改用這個:

var name = ["cat", "dog"];
document.write(name[1]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM