[英]how to access the object function with var keyword in 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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.