成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于this的理解以及如何減少全局變量污染的問題

Y3G / 952人閱讀

摘要:如果沒有當(dāng)前方法或該方法不屬于任何其它對象,則是指全局對象。正是這種情況如果我們有許多全局變量那么多于代碼的維護(hù)和復(fù)用將非常的困難。如里面提到的閉包,使用閉包來進(jìn)行信息的隱藏也能達(dá)到減少全局變量的污染。

this是學(xué)習(xí)每門語言的必備,this理解為當(dāng)前上下文,它代表函數(shù)運行時,自動生成的一個內(nèi)部對象,只能在函數(shù)內(nèi)部使用。如果沒有當(dāng)前方法(或該方法不屬于任何其它對象),則是指全局對象。也就是說,this代表調(diào)用該方法對象的引用。正是這種情況如果我們有許多全局變量那么多于代碼的維護(hù)和復(fù)用將非常的困難。 this的理解:


此時的輸出:

此時的輸出:

第一個showName()的上下文為obj,而使用apply此時傳入的this代表的則是對象,輸出的fn2即為對象名:


通過與java中類似的構(gòu)造來實現(xiàn)方法的調(diào)用,此時構(gòu)造的this為fn()對象,在fn中這種結(jié)構(gòu)也被稱為閉包,輸出結(jié)果:

減少全局變量污染的問題,也是讓代碼模塊化的一種技巧,使我們的代碼復(fù)用性更高

在開發(fā)的應(yīng)用中只使用一個全局變量
例如:

  
  
 這時的FIRSTAPP就成為了我們網(wǎng)頁或者應(yīng)用的一個基本容器。

如this里面提到的閉包,使用閉包來進(jìn)行信息的隱藏也能達(dá)到減少全局變量的污染。

這是本次一個月的js學(xué)習(xí)分享,望有更多人提意見共同成長。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/89651.html

相關(guān)文章

  • 面試官問我:什么是JavaScript閉包,我該如何回答

    摘要:到底什么是閉包這個問題在面試是時候經(jīng)常都會被問,很多小白一聽就懵逼了,不知道如何回答好。上面這么說閉包是一種特殊的對象。閉包的注意事項通常,函數(shù)的作用域及其所有變量都會在函數(shù)執(zhí)行結(jié)束后被銷毀。從而使用閉包模塊化代碼,減少全局變量的污染。 閉包,有人說它是一種設(shè)計理念,有人說所有的函數(shù)都是閉包。到底什么是閉包?這個問題在面試是時候經(jīng)常都會被問,很多小白一聽就懵逼了,不知道如何回答好。這個...

    BenCHou 評論0 收藏0
  • JS前端面試總結(jié)

    摘要:春招季如何橫掃面試核心考點基礎(chǔ)版前端面試之路二基礎(chǔ)整理的繼承和的繼承有什么區(qū)別的繼承時通過或構(gòu)造函數(shù)機(jī)制來實現(xiàn)。作用創(chuàng)建私有變量,減少全局變量,防止變量名污染。異步瀏覽器訪問服務(wù)器請求,用戶正常操作,瀏覽器后端進(jìn)行請求。 春招季如何橫掃 Javascript 面試核心考點(基礎(chǔ)版)?前端面試之路二(javaScript基礎(chǔ)整理) ES5的繼承和ES6的繼承有什么區(qū)別 ES5的繼承時通過...

    ThinkSNS 評論0 收藏0
  • js面試題(上)

    https://segmentfault.com/a/11... 原型 / 構(gòu)造函數(shù) / 實例 對原型的理解 我們知道在es6之前,js沒有類和繼承的概念,js是通過原型來實現(xiàn)繼承的。在js中一個構(gòu)造函數(shù)默認(rèn)自帶有一個prototype屬性, 這個的屬性值是一個對象,同時這個prototype對象自帶有一個constructor屬性,這個屬性指向這個構(gòu)造函數(shù),同時每一個實例 都有一個__proto...

    leap_frog 評論0 收藏0
  • js閉包理解

    摘要:一般來講,函數(shù)執(zhí)行完畢后,局部活動對象就會被銷毀,內(nèi)存中僅保存全局作用域,但是閉包的情況有所不同理解閉包的前提先理解另外兩個內(nèi)容作用域鏈垃圾回收作用域鏈當(dāng)代碼在執(zhí)行過程中,會創(chuàng)建變量對象的一個作用域鏈。 閉包是javascript語言的一個難點,也是它的特色,很多高級應(yīng)用都要依靠閉包來實現(xiàn)。個人的理解是:函數(shù)中嵌套函數(shù)。 閉包的定義及其優(yōu)缺點 閉包是指有權(quán)訪問另一個函數(shù)作用域中的變量的...

    EasonTyler 評論0 收藏0
  • JavaScript學(xué)習(xí)之路 — 函數(shù)、閉包與原型鏈

    摘要:全局的函數(shù)第個對象第個對象作為構(gòu)造器進(jìn)行調(diào)用也就是利用運算符進(jìn)行調(diào)用。與操作的共同使用只有通過操作產(chǎn)生的對象,可以使用構(gòu)造器函數(shù)原型鏈上的內(nèi)容,否則對象只能使用自己原型鏈上的內(nèi)容。 今天這個話題是因為這幾天看了《JavaScript忍者秘籍》,感覺這本書把這幾個內(nèi)容講的蠻透徹了,特撰本文,以便日后翻閱。(應(yīng)該都會以知識點的形式給出吧。) 函數(shù) 1.【基本類型】 JavaScript中函...

    klivitamJ 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<