您好,登錄后才能下訂單哦!
//---------公有方法------
公有方法:
1.公有方法是可以在類的外部被調用的,
2.但是它不可以訪問類的私有屬性。
3.公有方法必須在類的內部或者外部通過類的prototype屬性添加。
私有方法:私有方法本身是可以訪問類內部的所有屬性的,即私有屬性和公有屬性。但是私有方法是不可以在類的外部被調用。
//---------私有方法------
var pet=function(){
var temp="" //私有變量只有在函數或者對象作用域范圍內能訪問
function showpet(){
alert("123")
}
showpet();//私有方法可以在函數作用域范圍內使用。
}
showpet();//會出錯
pet.showpet()//還是不能這樣調用
var Penguin=new pet() //實例化一個pet對象
Penguin.showpet()//不好意思這樣子還是不能讓你調用。
//---------特權方法 -------
特權方法:特權方法是可以在類的外部被調用。(創建方法有如下兩種)
方法1:通過構造函數使用this關鍵字定義一個特權方法;
function Person(name){
this.getName = function(){
return name;
};
this.setName = function (value) {
name = value;
};
}
var person = new Person("Nicholas");
alert(person.getName()); //"Nicholas"
person.setName("Greg");
alert(person.getName()); //"Greg"
方法2:通過在私有作用域中定義私有變量或者函數,在原型上定義特權方法。
(function(){
var name = "";
Person = function(value){
name = value;
};
Person.prototype.getName = function(){
return name;
};
Person.prototype.setName = function (value){
name = value;
};
})();
var person1 = new Person("Nicholas");
alert(person1.getName()); //"Nicholas"
person1.setName("Greg");
alert(person1.getName()); //"Greg"
var person2 = new Person("Michael");
alert(person1.getName()); //"Michael"
alert(person2.getName()); //"Michael"
資料參考:
http://www.jb51.net/article/30357.htm
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。