您好,登錄后才能下訂單哦!
小編給大家分享一下javascript特權(quán)方法的作用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.SpringMVC,Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請求驅(qū)動類型的輕量級Web框架。2.Shiro,Apache Shiro是Java的一個(gè)安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個(gè)分布式服務(wù)框架。5.Maven,Maven是個(gè)項(xiàng)目管理和構(gòu)建自動化工具。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í),允許用戶以公共方法的方式訪問的方法。作用:在構(gòu)造函數(shù)外面公開訪問(僅限于實(shí)例化的對象),而且還能夠訪問私有成員和方法;通過特權(quán)方法可以控制公有方法對私有屬性或方法的訪問。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
特權(quán)方法:
指那些在查看并處理私有變量的同時(shí),允許用戶以公共方法的方式訪問的方法.
要點(diǎn):
1.特權(quán)方法是一個(gè)方法
2.特權(quán)方法可以訪問私有變量
定義特權(quán)方法
在構(gòu)造函數(shù)內(nèi)部通過this關(guān)鍵字定義的的方法,可以被實(shí)例化的對象繼承所調(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ù)外面公開訪問(僅限于實(shí)例化的對象),而且還能夠訪問私有成員和方法,因此用來做為對象或者構(gòu)造函數(shù)的接口最合適不過了,通過特權(quán)方法我們可以控制公有方法對私有屬性或方法的訪問。 在JS框架的擴(kuò)展中有很多應(yīng)用。
特權(quán)方法與公有方法的區(qū)別
相同點(diǎn):
1、 都可以在構(gòu)造函數(shù)外部公開訪問。
2、都可以訪問公有屬性
不同點(diǎn):有2點(diǎn)
1、每個(gè)實(shí)例都要擁有一份特權(quán)方法的副本(除在單例中使用外,需要考慮內(nèi)存),而公有方法為所有實(shí)例共享
//創(chuàng)建Student對象實(shí)例 var s1 = new Student('zhangsan'); var s2 = new Student('lisi'); //兩實(shí)例的特權(quán)方法的引用不相同, 說明在對象實(shí)例化的時(shí)特權(quán)方法被重新創(chuàng)建 console.log(s1.getName === s2.getName); //false
2、特權(quán)方法可以訪問私有屬性和方法,而公有方法不能。
//為Student創(chuàng)建公有方法 //公有方法不能訪問私有屬性 Student.prototype.myMethod = function() { console.log(_name); //ReferenceError: _name is not defined }; s1.myMethod();
以上是“javascript特權(quán)方法的作用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。