function
person
(name)
return obj;
}
以上**我能得到乙個person類
var p1 = person(『張三』);
var p2 = person(『李四』);
首先說一下這種寫法的問題;
關於this,在person類的內部this其實指向的是window;person類其實是乙個封裝函式;它不屬於某乙個物件,它是全域性的;所以掛在到的是window物件;一般函式中this指向的是這個方法所屬的那個物件;不難理解,最終this指向window;
而new 存在的意義是什麼呢;
當new 去呼叫乙個函式;函式中this指向的就是這個物件例項;並且函式的返回值就是這個this;
function
person
(name)
}
var p1 = new person(『張三』);
var p2 = new person(『李四』);
上面的寫法就是我們平常所說的工廠模式;
工廠模式本質就是封裝函式;
好處就是,物件不用乙個個去寫;同類的物件只要new一下就得到了。
C 物件導向的new關鍵字的使用
using system using system.collections.generic using system.linq using system.text namespace public class person public int age 父類建構函式 public person st...
物件導向關鍵字
this關鍵字 this是一種特殊的引用,指向當前物件 this的兩種使用方法 1 如果發生區域性變數可以成員變數命名衝突時,可以通過this.成員變數名的方式區分例項變數和區域性變數 2 乙個構造方法中需要呼叫同乙個類的另乙個構造方法,可以通過this 的方式呼叫,但this 必須要書寫在第一行 ...
物件導向 this 關鍵字
通過this關鍵字可以明確地訪問乙個類的成員變數,解決與區域性變數名稱相同的問題。示例 如下 public class cat 在上面的 中,構造方法的引數被定義為color,它是乙個區域性變數,在類中還定義了乙個成員變數,名稱也是color。在構造方法中如如果使用color,則訪問區域性變數,但如...