我想弄清楚如何在創建它後向方法添加方法。
在我的代碼中,我不能使用Person的prototype屬性來添加一個新的公共方法,該方法可以訪問Person的變量。 (附加在原型屬性上的函數不能關閉主函數中的變量)。
與第一種方式不同,第二種方式起作用 - 人2看起來像被稱爲特權方法 - http://www.crockford.com/javascript/private.html。函數附加到原型屬性沒有關閉
function Person(name, age){}
Person.prototype.details = function(){
return "name: "+name+", age: "+age;
};
function Person2(name, age){
this.details = function(){
return "name: "+name+", age: "+age;};
}
var per1 = new Person("jim", 22);
var per2 = new Person2("jack", 28);
per1.details();
//=> ReferenceError: age is not defined
per2.details();
//=> "name: jack, age: 28"
yikes,我明白了,謝謝 – deepak
對不起,我剛剛下班回家,有點打架:) –