3 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
作用域:它是指對某一變量和方法具有訪問權(quán)限的代碼空間,在JS中,作用域是在函數(shù)中維護(hù)的。表示變量或函數(shù)起作用的區(qū)域,指代了它們在什么樣的上下文中執(zhí)行,亦即上下文執(zhí)行環(huán)境。Javascript的作用域只有兩種:全局作用域和本地作用域,本地作用域是按照函數(shù)來區(qū)分的。閉包:在js中的我的理解就是函數(shù)嵌套函數(shù),當(dāng)內(nèi)部函數(shù)在定義它的作用域的外部被引用時(shí),就創(chuàng)建了該內(nèi)部函數(shù)的閉包,如果內(nèi)部函數(shù)引用了位于外部函數(shù)的變量,當(dāng)外部函數(shù)調(diào)用完畢后,這些變量在內(nèi)存不會(huì)被釋放,因?yàn)殚]包需要它們.使用閉包要注意:1)由于閉包會(huì)使得函數(shù)中的變量都被保存在內(nèi)存中,內(nèi)存消耗很大,所以不能濫用閉包,否則會(huì)造成網(wǎng)頁的性能問題,在IE中可能導(dǎo)致內(nèi)存泄露。解決方法是,在退出函數(shù)之前,將不使用的局部變量全部刪除。2)閉包會(huì)在父函數(shù)外部,改變父函數(shù)內(nèi)部變量的值。所以,如果你把父函數(shù)當(dāng)作對象(object)使用,把閉包當(dāng)作它的公用方法(PublicMethod),把內(nèi)部變量當(dāng)作它的私有屬性(privatevalue),這時(shí)一定要小心,不要隨便改變父函數(shù)內(nèi)部變量的值。

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
methods中的function中的this指向vue實(shí)例,其他的沒什么這種調(diào)用方式是直接訪問test2函數(shù),沒有任何的this綁定,所以肯定訪問不到
添加回答
舉報(bào)