簡體   English   中英

使用var關鍵字在Javascript中創建對象時出現問題

[英]Trouble with creating an object in Javascript with the var keyword

您好,我在使用Javascript創建對象時遇到了麻煩。
當我在Chrome中使用控制台時,我發現了一些奇怪的事情:

function person(){this.Name = "John";}
var a = new person()

結果: undefined

但是,如果我這樣做

b = new person()

結果: Person {Name: "John"}

在javascript中創建對象時,使用var關鍵字或不使用它是否有任何區別?

檢查a的值,它實際上與b相同。 undefined只是表達式var a = new person()的評估結果。

在函數內部,所有未聲明的變量都是全局變量。 只有那些用var聲明的是本地的。 所以就范圍而言,它是不同的。 如果要在函數內部分配值並在外部打印,則可以解釋您的情況。

對於未明確return值的任何語句,Chrome返回undefined。

例如

var j = "Jenny from the block";

回報

未定義

要完全運行您的代碼,請嘗試

function person(){this.Name = "John";}
var a = new person();
console.log(a.Name);

這就是瀏覽器控制台的工作原理。 它返回您執行的任何返回值。 在這種情況下,您的語句將返回undefined。 由於控制台在窗口范圍內運行,因此沒有確定問題。 適用於firefox和chrome。

控制台返回undefined

暫無
暫無

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

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