溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js私有方法、公有方法、特權方法總結

發布時間:2020-06-15 00:58:11 來源:網絡 閱讀:883 作者:pmlinjian 欄目:開發技術

//---------公有方法------

公有方法: 

  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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女