溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript要封裝的原因是什么

發(fā)布時間:2022-04-14 10:08:13 來源:億速云 閱讀:165 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“JavaScript要封裝的原因是什么”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強(qiáng),希望這篇“JavaScript要封裝的原因是什么”文章能幫助大家解決問題。

需要封裝的原因:1、通過封裝可以減少代碼的冗余,使代碼看起來不復(fù)雜,減少不必要的代碼;2、對象只用對外提供與其它對象交互的必要接口,可以對內(nèi)部數(shù)據(jù)提供不同級別的保護(hù),以防止程序中無關(guān)部分意外的改變或錯誤使用了對象的私有部分,可提升安全性。

本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。

JavaScript為什么要封裝

封裝是面向?qū)ο蟮娜齻€基本特征之一,將現(xiàn)實世界的事物抽象成計算機(jī)領(lǐng)域中的對象,對象同時具有屬性和行為(方法),這種抽象就是封裝.

大家在日常開發(fā)過程中,具有相同處理邏輯的代碼通常會進(jìn)行函數(shù)的封裝來減少代碼的冗余,使代碼看起來更優(yōu)雅美觀,那么

當(dāng)多個實體對象他們擁有相同的一些屬性和行為(方法)時,自然也要把這些相同的屬性和行為抽象出來,減少不必要的代碼。

封裝的重要特性:數(shù)據(jù)隱藏。

對象只對外提供與其它對象交互的必要接口,而將自身的某些屬性和實現(xiàn)細(xì)節(jié)對外隱藏,通過這種方式,對象對內(nèi)部數(shù)據(jù)提供了不同級別的保護(hù),以防止程序中無關(guān)的部分意外的改變或錯誤的使用了對象的私有部分。這樣就在確保正常交互的前提下,保證了安全性,不需要關(guān)心對象實現(xiàn)的方法即可使用這個對象。

函數(shù)(function)--最簡單的封裝

函數(shù)對任何語言來說都是一個核心的概念。通過函數(shù)可以封裝任意多條語句,而且可以在任何地方、任何時候調(diào)用執(zhí)行。

如何封裝: 將零散的的語句寫進(jìn)函數(shù)的花括號內(nèi),成為函數(shù)體,然后就可以調(diào)用了。

未封裝代碼:

var body = document.getElementsByTagName("body")[0];
        var h2 = document.createElement("h2");
        body.style.backgroundColor = "green";
        h2.innerText = "綠了";
        body.appendChild(h2);

缺點:

  • 易被同名變量覆蓋--因為在全局作用域下聲明的變量,容易被同名變量覆蓋

  • 立即執(zhí)行--解析器讀取到此處立即執(zhí)行

封裝代碼:

function makeGreen() {
            var body = document.getElementsByTagName("body")[0];
            var h2 = document.createElement("h2");
            body.style.backgroundColor = "green";
            h2.innerText = "綠了";
            body.appendChild(h2);
        }

優(yōu)點:

  • 避免了全局變量--因為存在函數(shù)作用域(函數(shù)作用域畫重點,以后要考)

  • 按需執(zhí)行--解析器讀取到此處,函數(shù)并未執(zhí)行,只有當(dāng)你需要的時候,調(diào)用此函數(shù)即可

  • 提高代碼重用性

關(guān)于“JavaScript要封裝的原因是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI