小編給大家分享一下javascript特權(quán)方法的作用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)蕭縣,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
1.SpringMVC,Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架。2.Shiro,Apache Shiro是Java的一個(gè)安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個(gè)分布式服務(wù)框架。5.Maven,Maven是個(gè)項(xiàng)目管理和構(gòu)建自動(dòng)化工具。6.RabbitMQ,RabbitMQ是用Erlang實(shí)現(xiàn)的一個(gè)高并發(fā)高可靠AMQP消息隊(duì)列服務(wù)器。7.Ehcache,EhCache 是一個(gè)純Java的進(jìn)程內(nèi)緩存框架。
在javascript中,特權(quán)方法指那些在查看并處理私有變量的同時(shí),允許用戶以公共方法的方式訪問(wèn)的方法。作用:在構(gòu)造函數(shù)外面公開(kāi)訪問(wèn)(僅限于實(shí)例化的對(duì)象),而且還能夠訪問(wèn)私有成員和方法;通過(guò)特權(quán)方法可以控制公有方法對(duì)私有屬性或方法的訪問(wèn)。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
特權(quán)方法:
指那些在查看并處理私有變量的同時(shí),允許用戶以公共方法的方式訪問(wèn)的方法.
要點(diǎn):
1.特權(quán)方法是一個(gè)方法
2.特權(quán)方法可以訪問(wèn)私有變量
定義特權(quán)方法
在構(gòu)造函數(shù)內(nèi)部通過(guò)this關(guān)鍵字定義的的方法,可以被實(shí)例化的對(duì)象繼承所調(diào)用。
var Student = function(name) { var _name = name; //私有屬性 //特權(quán)方法 this.getName = function() { return _name; }; this.setName = function(name) { _name = name; }; }; var s1 = new Student('zhangsan'); s1.getName(); //zhangsan
特權(quán)方法的作用
特權(quán)方法能夠在構(gòu)造函數(shù)外面公開(kāi)訪問(wèn)(僅限于實(shí)例化的對(duì)象),而且還能夠訪問(wèn)私有成員和方法,因此用來(lái)做為對(duì)象或者構(gòu)造函數(shù)的接口最合適不過(guò)了,通過(guò)特權(quán)方法我們可以控制公有方法對(duì)私有屬性或方法的訪問(wèn)。 在JS框架的擴(kuò)展中有很多應(yīng)用。
特權(quán)方法與公有方法的區(qū)別
相同點(diǎn):
1、 都可以在構(gòu)造函數(shù)外部公開(kāi)訪問(wèn)。
2、都可以訪問(wèn)公有屬性
不同點(diǎn):有2點(diǎn)
1、每個(gè)實(shí)例都要擁有一份特權(quán)方法的副本(除在單例中使用外,需要考慮內(nèi)存),而公有方法為所有實(shí)例共享
//創(chuàng)建Student對(duì)象實(shí)例 var s1 = new Student('zhangsan'); var s2 = new Student('lisi'); //兩實(shí)例的特權(quán)方法的引用不相同, 說(shuō)明在對(duì)象實(shí)例化的時(shí)特權(quán)方法被重新創(chuàng)建 console.log(s1.getName === s2.getName); //false
2、特權(quán)方法可以訪問(wèn)私有屬性和方法,而公有方法不能。
//為Student創(chuàng)建公有方法 //公有方法不能訪問(wèn)私有屬性 Student.prototype.myMethod = function() { console.log(_name); //ReferenceError: _name is not defined }; s1.myMethod();
以上是“javascript特權(quán)方法的作用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!