JavaScript中的this關(guān)鍵字介紹與使用實(shí)例
當(dāng)創(chuàng)建一個(gè)類的時(shí)候,如果希望下面new出來(lái)的每個(gè)類都擁有一些通用的變量或者其他的函數(shù),這個(gè)this關(guān)鍵字這是最好的方式。
當(dāng)然,既然是面向?qū)ο蟮恼Z(yǔ)言,必然存在訪問(wèn)權(quán)限的問(wèn)題,這里也和this關(guān)鍵字息息相關(guān)。下面我們來(lái)演示一個(gè)例子來(lái)說(shuō)明一下這個(gè)類的訪問(wèn)權(quán)限的問(wèn)題.
//Person類
function Person(){
var name="abc";//var聲明的都是類內(nèi)部的私有變量,外部無(wú)法訪問(wèn)
var age = 20;
this.name2="edg";//this聲明的是公開(kāi)變量,外部可以訪問(wèn)
this.show=function(){//shou方法是公開(kāi)的方法,可以被外部訪問(wèn),而且可以訪問(wèn)類內(nèi)部私有方法
window.alert(name);
}
function show2(){//shouw2方法是類內(nèi)部的私有方法,不能被外部訪問(wèn)
}
}
var p1 = new Person();
document.writeln(p1.name2+p1.name);
p1.show();
//Person類 m.fzitv.net
function Person(){
var name="abc";//var聲明的都是類內(nèi)部的私有變量,外部無(wú)法訪問(wèn)
var age = 20;
this.name2="edg";//this聲明的是公開(kāi)變量,外部可以訪問(wèn)
this.show=function(){//shou方法是公開(kāi)的方法,可以被外部訪問(wèn),而且可以訪問(wèn)類內(nèi)部私有方法
window.alert(name);
}
function show2(){//shouw2方法是類內(nèi)部的私有方法,不能被外部訪問(wèn)
}
}
var p1 = new Person();
document.writeln(p1.name2+p1.name);
p1.show();
這個(gè)Person其實(shí)就是一個(gè)類,類名就是Person,其中聲明的變量,var開(kāi)頭的都是私有變量,只能在類的內(nèi)部實(shí)現(xiàn)訪
問(wèn),而通過(guò)this關(guān)鍵字聲明的變量是公有的變量,可以在外部訪問(wèn)。當(dāng)然,只需要公開(kāi)一個(gè)方法,就可以實(shí)現(xiàn)外部訪
問(wèn)類內(nèi)部的私有變量,這個(gè)this.show=function(){}就是聲明一個(gè)共有方法,在類的外部也是可以調(diào)用的。當(dāng)然,以此
類推,直接聲明的方法是私有的方法/
下面再看一個(gè)例子
function test(){
alert(this.v);
}
var v = 902;
window.test();
function test(){
alert(this.v);
}
var v = 902;
window.test();
代碼很簡(jiǎn)短,這個(gè)的意思是,誰(shuí)調(diào)用的這個(gè)方法,這個(gè)this就是指的那個(gè)對(duì)象,比如,window對(duì)象調(diào)用的test方法,
所以在test方法內(nèi)部,這個(gè)this,v就是指在window也就是外部全局是否定義了一個(gè)v變量,通過(guò)查看可以知道,定義了
一個(gè)var v = 902;所以這個(gè)方法調(diào)用的其實(shí)就是v的值.
- JS函數(shù)this的用法實(shí)例分析
- JS和jQuery通過(guò)this獲取html標(biāo)簽中的屬性值(實(shí)例代碼)
- javascript中this用法實(shí)例詳解
- JavaScript中的this實(shí)例分析
- js中this用法實(shí)例詳解
- javascript下動(dòng)態(tài)this與動(dòng)態(tài)綁定實(shí)例代碼
- javascript與jquery中的this關(guān)鍵字用法實(shí)例分析
- js中this的用法實(shí)例分析
- JS作用域閉包、預(yù)解釋和this關(guān)鍵字綜合實(shí)例解析
- JavaScript中this的全面解析及常見(jiàn)實(shí)例
相關(guān)文章
詳解wepy開(kāi)發(fā)小程序踩過(guò)的坑(小結(jié))
這篇文章主要介紹了詳解wepy開(kāi)發(fā)小程序踩過(guò)的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Bootstrap打造一個(gè)左側(cè)折疊菜單的系統(tǒng)模板(一)
這篇文章主要介紹了Bootstrap打造一個(gè)左側(cè)折疊菜單的系統(tǒng)模板(一)的相關(guān)資料,需要的朋友可以參考下2016-05-05
基于javascript實(shí)現(xiàn)貪吃蛇經(jīng)典小游戲
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
JavaScript中具名函數(shù)的多種調(diào)用方式總結(jié)
這篇文章主要介紹了JavaScript中具名函數(shù)的多種調(diào)用方式總結(jié),本文總結(jié)了4種方法,需要的朋友可以參考下2014-11-11
聊聊JavaScript中的try...catch使用小技巧
作為一名web前端工程師,JavaScript中的try...catch是我們常用的特性之一,用于處理代碼中可能出現(xiàn)的錯(cuò)誤,本文小編將和大家一起聊聊JavaScript中的try...catch使用小技巧,需要的朋友可以參考下2023-11-11
基于JavaScript繪制動(dòng)態(tài)花束的示例代碼
p5.js 是一個(gè)JavaScript的函數(shù)庫(kù),它在制作之初就和Processing有同樣的目標(biāo)。本文將利用p5.js 制作出一束動(dòng)態(tài)花束,感興趣的可以嘗試一下2022-06-06
javascript 數(shù)字格式化輸出的實(shí)現(xiàn)代碼
這篇文章主要是對(duì)javascript中數(shù)字格式化輸出的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12

