亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js面向對象之公有、私有、靜態屬性和方法詳解

2019-11-20 12:38:45
字體:
來源:轉載
供稿:網友

現下,javascript大行其道,對于網站開發人員來說,javascript是必需掌據的一門語言,但隨著jquery等框架的流行和使用,許多人對于原生javascript缺乏深入的理解,習慣了函數式的編輯風格,對于閉包、原型總是說不清道不明.對于js面向對象蹩腳的用著,而要了解js面向對象,就必需先了解js中什么是公有方法、特權方法、靜態方法

方法/步驟

1.公有屬性和公有方法

function User(name,age){  this.name = name;//公有屬性  this.age = age;}User.prototype.getName = function(){//公有方法  return this.name;}var user = new User('fire子海',26);console.log(user.getName());//output:fire子海

2.私有屬性和方法

function User(name,age){  var name = name;//私有屬性  var age = age;  function alertAge(){//私有方法     alert(age);  }  alertAge(age); //彈出26}var user = new User('fire子海',26);

3.靜態屬性和方法

在php中,無需實例化就可以調用的方法就叫靜態方法,js也一樣,無需實例化,即用new操作符實化對象,就可調用對象的方法和屬性。

function User(){}User.age = 26;//靜態屬性User.myname = 'fire子海';User.getName =function(){//靜態方法   return this.myname;//如果這里使用this.name,返回的將是User,所有改用了myname,}console.log(User.getName());//output:fire子海

4.特權方法

function User(name,age){  var name = name;//私有屬性  var age = age;  this.getName = function(){ //特權方法     return name;//私有屬性和方法不能使用this調用  }}var user = new User('fire子海',26);console.log(user.getName());//output:fire子海

5.靜態類

對于靜態方法和靜態屬性,我們無需像第三步中那樣去創建,如果網友看過我那篇“js如何制作圖片輪播”,就知道可以使用字面量的方式來創建。

var user = {  init:function(name,age){   this.name = name;   this.age = age;  },  getName:function(){   return this.name; }}user.init('fire子海',26);console.log(user.getName());//output:fire子海

6.公有方法的調用規則

調用公有方法,我們必需先實例化對象

公有方法中通過不this調用公有屬性和特權方法,不能使用this調用靜態方法和屬性,必需裁通過對象本身調用,即對象名。公有方法也不能調用私有方法

function User(){  this.myname = 'fire子海';//公有屬性  this.age = 26;  this.do = function(){//特權方法    return this.myname+'學習js';  }}User.eat = function(food){ return '晚餐只有'+food;}User.prototype.alertAge = function(){  alert(this.age);}User.prototype.alertDo = function(){  alert(this.do());//調用特權方法}User.prototype.alertEat = function(food){  alert(User.eat(food));//只能通過對象本身調用靜態方法  //alert(this.ear(food))這樣調用將出錯:this.eat is not a function}var user = new User();user.alertAge();//alert:26user.alertDo();//alert:fire子海學習jsuser.alertEat('方便面')//alert:晚餐只有方便面

7.靜態方法的調用規則

使用靜態方法時,無需實例化對象,便可以調用,對象實例不能調用對象的靜態方法,只能調用實例自身的靜態屬性和方法

function User(){}User.age = 26;//靜態屬性User.myname = 'fire子海';User.getName =function(){//靜態方法   return this.myname;}var user = new User();console.log(user.getName);//TypeError: user.getName is not a functionuser.supper = '方便面';user.eat = function(){ return '晚餐只有'+this.supper;}user.eat();//晚餐只有方便面

靜態方法無法調用公有屬性、公有方法、私有方法、私有屬性、特權方法和原型屬性

function User(){    this.myname = 'fire子海';//公有屬性    this.age = 26;    this.do = function(){//特權方法      return this.myname+'學習js';    }}User.prototype.alertAge = function(){//公共方法,也叫原型方法  alert(this.age);}User.prototype.sex = '男';//原型屬性User.getName= function(){//靜態方法  return this.myname;}User.getAge = function(){   this.alertAge(); }User.getDo = function(){  return this.do();}//console.log(User.getName())//undefined//console.log(User.getDo());//TypeError: this.do is not a function//console.log(User.getAge())//TypeError: this.alertAge is not a function

8.特權方法的調用規則

特權方法通過this調用公有方法、公有屬性,通過對象本身調用靜態方法和屬性,在方法體內直接調用私有屬性和私有方法

function User(girlfriend){   var girlfriend = girlfriend;   function getGirlFriend(){      return '我女朋友'+girlfriend+'是美女!';   }  this.myname = 'fire子海';//公有屬性  this.age = 26;  this.do = function(){//特權方法    return this.myname+'學習js';  }  this.alertAge = function(){   this.changeAge();//特權方法調用公有方法    alert(this.age);  }  this.alertGirlFriend = function(){   alert(getGirlFriend());//調用私有方法  }}User.prototype.changeAge = function(){  this.age = 29;}var user = new User('某某');user.alertAge();//alert:29user.alertGirlFriend();//alert:我的女朋友某某是美女!

9.私有方法

對象的私有方法和屬性,外部是不可以訪問的,在方法的內部不是能this調用對象的公有方法、公有屬性、特權方法的

function User(girlfriend){   var girlfriend = girlfriend;  this.myname = 'fire子海';//公有屬性  this.age = 26;  function getGirlFriend(){    //this.myname ;//此時的this指向的window對象,并非User對象,    // this.myname = 'fire子海',此時的this指向的是getGirFriend對象了。  //如果通過this調用了getGirFriend中不存在的方法呀屬性,this便會指向window 對象,只有this調用了getGirlFriend存在的方法和屬性,this才會指定getGirlFriend;     alert(User.eat('泡面'));//alert:晚餐只有方便面  }  this.do = function(){//特權方法    return this.myname+'學習js';  }  this.alertAge = function(){   this.changeAge();//特權方法調用公有方法    alert(this.age);  }  this.alertGirlFriend = function(){   getGirlFriend();//調用私有方法  }}User.eat = function(supper){ return '晚餐只有'+supper;}var user = new User('某某');user.alertGirlFriend();

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产日韩视频| 国产91精品黑色丝袜高跟鞋| 38少妇精品导航| 日韩视频在线免费观看| 久久香蕉频线观| 欧美电影免费观看网站| 欧美性xxxxhd| 久久国产精品久久久久| 国产日韩av在线播放| 国产亚洲精品久久久优势| 18久久久久久| 亚洲欧美日韩精品久久奇米色影视| 91精品国产综合久久男男| 国产精品视频1区| 国产精品主播视频| 精品香蕉在线观看视频一| 欧美一级免费看| 精品亚洲一区二区三区| 自拍偷拍亚洲一区| 亚洲欧美日韩图片| 狠狠干狠狠久久| 91成人福利在线| 97精品在线观看| 成人午夜小视频| 高清一区二区三区日本久| 成人xvideos免费视频| 亚洲韩国欧洲国产日产av| 国产精品久久久久久婷婷天堂| 91精品国产乱码久久久久久久久| 日韩欧美精品网址| 成人欧美一区二区三区在线湿哒哒| 情事1991在线| 韩国精品美女www爽爽爽视频| 在线视频欧美性高潮| 国产亚洲美女精品久久久| 亚洲成人教育av| 精品无码久久久久久国产| 欧美日韩免费在线| 黑人狂躁日本妞一区二区三区| 欧美激情18p| 精品偷拍一区二区三区在线看| 久久久亚洲福利精品午夜| 欧美日韩国产丝袜美女| 国产午夜精品一区二区三区| 亚洲欧洲激情在线| 国产视频自拍一区| 国产精品91久久久| 欧美视频专区一二在线观看| 久久久久久久久国产| 久久久久久美女| 国产精品网址在线| 美女扒开尿口让男人操亚洲视频网站| 性色av一区二区三区在线观看| 亚洲自拍偷拍网址| 欧美做爰性生交视频| 日韩在线视频线视频免费网站| www.欧美精品一二三区| 亚洲第一在线视频| 欧美又大粗又爽又黄大片视频| 国产精品盗摄久久久| 欧美日韩国产精品专区| 日韩国产欧美区| 久久精品国产亚洲一区二区| 青青在线视频一区二区三区| 久久久国产精品免费| 久久久亚洲影院你懂的| 亚洲国产女人aaa毛片在线| 国产精品日韩一区| 美女少妇精品视频| xxxx欧美18另类的高清| 国产精品视频一| 亚洲精品www久久久| 亚洲国内高清视频| 国内精品久久影院| 国产精品久久一| 国产免费一区视频观看免费| 欧美在线欧美在线| 亚洲黄一区二区| 国产精品一区二区三区毛片淫片| 午夜精品美女自拍福到在线| 久久人人爽人人| 国产欧美日韩丝袜精品一区| 日韩精品免费一线在线观看| 国产精品久久久久99| 欧美xxxx18性欧美| 日本一本a高清免费不卡| 日韩电影在线观看中文字幕| 国产成人avxxxxx在线看| www.日韩不卡电影av| 成人免费在线网址| 国产午夜精品视频| 日本成人在线视频网址| 国产一区二区三区高清在线观看| 成人精品福利视频| 日韩在线小视频| 日韩精品免费电影| 久久99久久99精品中文字幕| 91精品国产综合久久久久久久久| 日日狠狠久久偷偷四色综合免费| 亚洲欧美一区二区三区在线| 韩国国内大量揄拍精品视频| 欧美性猛交丰臀xxxxx网站| 欧美极品欧美精品欧美视频| 国产不卡在线观看| 亚洲男女自偷自拍图片另类| 亚洲人成电影网| 久久精品99国产精品酒店日本| 日韩欧美中文字幕在线观看| 精品国产欧美成人夜夜嗨| 亚洲一区美女视频在线观看免费| 欧美在线观看一区二区三区| 国产精品高清免费在线观看| 久久91亚洲精品中文字幕奶水| 国产亚洲精品va在线观看| 欧美激情免费看| 性亚洲最疯狂xxxx高清| 国产精品69久久| 日韩大片免费观看视频播放| 欧美性猛交xxxx富婆| 欧美日韩国产黄| 91精品久久久久久久久久| 中文字幕精品在线| 欧美精品久久一区二区| 欧美高清在线观看| 久久国产精品视频| 日韩av123| 亚洲天堂av图片| 日韩精品中文字幕在线播放| 亚洲国产小视频| 欧美高清在线播放| 国产精品久久久久免费a∨大胸| 国产视频一区在线| 久久久精品一区二区三区| 亚洲精品中文字幕女同| 亚洲自拍欧美色图| 国产精品私拍pans大尺度在线| 欧美黑人一级爽快片淫片高清| 欧美午夜视频一区二区| 成人黄色激情网| 成人h视频在线观看播放| 中文精品99久久国产香蕉| 亚洲美女喷白浆| 日韩中文字幕国产| 最近2019好看的中文字幕免费| 精品久久中文字幕久久av| 色婷婷成人综合| 狠狠久久亚洲欧美专区| 国产在线久久久| 亚洲成人av资源网| 2019中文字幕全在线观看| 欧美激情在线观看视频| 久久理论片午夜琪琪电影网| 欧洲亚洲免费视频| 九色成人免费视频| 日本高清不卡在线| 在线播放国产精品| www.久久久久| 狠狠躁夜夜躁人人躁婷婷91| 国产日韩欧美自拍| 亚洲精品国产精品国自产观看浪潮| 91久久久国产精品| 中文字幕日韩av电影| 国产在线高清精品| 精品久久久久久亚洲精品|