這篇文章主要介紹“javascript能定義實(shí)例方法嗎”,在日常操作中,相信很多人在javascript能定義實(shí)例方法嗎問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”javascript能定義實(shí)例方法嗎”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到商州網(wǎng)站設(shè)計(jì)與商州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋商州地區(qū)。
javascript可以定義實(shí)例方法,方法:1、利用JavaScript對(duì)象原型引用prototype來(lái)實(shí)現(xiàn)實(shí)例方法;2、在對(duì)象實(shí)例上直接定義方法;3、通過(guò)this指針來(lái)定義實(shí)例方法。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
1、利用JavaScript對(duì)象原型引用prototype來(lái)實(shí)現(xiàn)實(shí)例方法
var BaseClass = function() {}; BaseClass.prototype.method1 = function(){ alert(' This is a instance method '); } var instance1 = new BaseClass(); instance1.method1(); //This is a instance method
2、在實(shí)例上直接定義方法(對(duì)象)
var BaseClass = function() {}; var instance1 = new BaseClass(); instance1.method1 = function(){ alert(' This is a instance method too '); } instance1.method1();//This is a instance method too
3、通過(guò)this指針來(lái)定義實(shí)例方法 (變量)
var BaseClass = function() { this.method1 = function(){ alert(' Defined by the "this" instance method'); } }; var instance1 = new BaseClass(); instance1.method1();//Defined by the "this" instance method
那么同時(shí)咋實(shí)例、原型引用上和"this"上定義相同的實(shí)例方法后,實(shí)例會(huì)優(yōu)先調(diào)用哪一個(gè)呢?
var BaseClass = function() { this.method1 = function(){ alert(' Defined by the "this" in the instance method'); } }; var instance1 = new BaseClass(); instance1.method1 = function(){ alert(' Defined directly in the instance method'); } BaseClass.prototype.method1 = function(){ alert(' Defined by the prototype instance method '); } instance1.method1();//Defined directly in the instance method
* 通過(guò)運(yùn)行結(jié)果跟蹤測(cè)試可以看出直接砸實(shí)例上的變量的優(yōu)先級(jí)要高于定義在“this”上的;
* 而定義在“this”上的又高于prototype定義的變量;
* 即直接定義在實(shí)例上的變量會(huì)覆蓋定義在“this”上和prototype定義的變量,定義在“this'”上的會(huì)覆蓋prototypetype定義的變量。
到此,關(guān)于“javascript能定義實(shí)例方法嗎”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!