2013-09-25 64 views
10

Trong cửa sổ Chrome Developer Tools, tôi gõ vào:Điều gì đặc biệt về biến "tên" trong JavaScript?

> name = ["a", "b", "c"] 
["a", "b", "c"] 

Tuy nhiên, name trở thành một chuỗi:

> typeof name 
"string" 
> name 
"a,b,c" 
> name[1] 
"," 

Điều này rõ ràng là không đúng đối với tên biến khác!

> foo = ["a", "b", "c"] 
["a", "b", "c"] 
> typeof foo 
"object" 
> foo[1] 
"b" 

name được định nghĩa là chuỗi rỗng trên tải trang (và, như xa như tôi có thể nói, không thể trở thành bất cứ điều gì khác hơn là một chuỗi).

Vì vậy, điều gì xảy ra với name?

+0

Firebug có nó quá. –

+0

có vẻ như tên đã tồn tại trước khi gán nó cho một mảng. Giá trị mặc định là '" "'. Tôi nghi ngờ nó là một built-in/prototype là một phần của ngôn ngữ thích hợp. Cụ thể bất kể. –

+0

Một điều khác tôi nhận thấy, biến vẫn được đặt ngay cả khi bạn tải lại trang, đó không phải là hành vi bình thường. – dajavax

Trả lời