<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        詳細(xì)介紹JavaScript函數(shù)的作用域與this指向

        來(lái)源:懂視網(wǎng) 責(zé)編:小OO 時(shí)間:2020-11-27 20:13:07
        文檔

        詳細(xì)介紹JavaScript函數(shù)的作用域與this指向

        函數(shù)的作用域與this指向是js中很重要的一部分,理清這點(diǎn)東西需要個(gè)邏輯,看看我的邏輯怎么樣..。下面是個(gè)提綱,可以直接挑你感興趣的條目閱讀。? 函數(shù)的定義方式:直接定義(window下,內(nèi)部定義),對(duì)象的方法,對(duì)象原型的方法。? 函數(shù)的調(diào)用方式:直接調(diào)用,call/apply,with。? 對(duì)于直接定義的函數(shù)和對(duì)象的方法,作用域默認(rèn)狀態(tài)下是它的定義處的作用域鏈。? 對(duì)于直接定義的函數(shù),this指向window。? 對(duì)于對(duì)象的方法,this指向?qū)嵗瘜?duì)象(對(duì)應(yīng)于實(shí)例化對(duì)象默認(rèn)返回this的情況)。? 用call/apply改變方法的this指向。? 在函數(shù)或方法的定義時(shí)可以通過(guò)with改變其作用域鏈。下面分開(kāi)來(lái)具體說(shuō)說(shuō)。
        推薦度:
        導(dǎo)讀函數(shù)的作用域與this指向是js中很重要的一部分,理清這點(diǎn)東西需要個(gè)邏輯,看看我的邏輯怎么樣..。下面是個(gè)提綱,可以直接挑你感興趣的條目閱讀。? 函數(shù)的定義方式:直接定義(window下,內(nèi)部定義),對(duì)象的方法,對(duì)象原型的方法。? 函數(shù)的調(diào)用方式:直接調(diào)用,call/apply,with。? 對(duì)于直接定義的函數(shù)和對(duì)象的方法,作用域默認(rèn)狀態(tài)下是它的定義處的作用域鏈。? 對(duì)于直接定義的函數(shù),this指向window。? 對(duì)于對(duì)象的方法,this指向?qū)嵗瘜?duì)象(對(duì)應(yīng)于實(shí)例化對(duì)象默認(rèn)返回this的情況)。? 用call/apply改變方法的this指向。? 在函數(shù)或方法的定義時(shí)可以通過(guò)with改變其作用域鏈。下面分開(kāi)來(lái)具體說(shuō)說(shuō)。

        下面小編就為大家?guī)?lái)一篇深入理解js函數(shù)的作用域與this指向。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

        函數(shù)的作用域與this指向是js中很重要的一部分,理清這點(diǎn)東西需要個(gè)邏輯,看看我的邏輯怎么樣...

        下面是個(gè)提綱,可以直接挑你感興趣的條目閱讀。

        ? 函數(shù)的定義方式:直接定義(window下,內(nèi)部定義),對(duì)象的方法,對(duì)象原型的方法;

        ? 函數(shù)的調(diào)用方式:直接調(diào)用,call/apply,with

        ? 對(duì)于直接定義的函數(shù)和對(duì)象的方法,作用域默認(rèn)狀態(tài)下是它的定義處的作用域鏈。

        ? 對(duì)于直接定義的函數(shù),this指向window。

        ? 對(duì)于對(duì)象的方法,this指向?qū)嵗瘜?duì)象(對(duì)應(yīng)于實(shí)例化對(duì)象默認(rèn)返回this的情況)。

        ? 用call/apply改變方法的this指向

        ? 在函數(shù)或方法的定義時(shí)可以通過(guò)with改變其作用域鏈。

        下面分開(kāi)來(lái)具體說(shuō)說(shuō):

        函數(shù)的定義,如提綱中提到的可以分為兩種:直接定義(window下,內(nèi)部定義),對(duì)象的方法(或?qū)ο笤偷姆椒ǎ?。從下面的示例代碼中可以看到函數(shù)fn1與fn2以及對(duì)象的方法doFunction在函數(shù)使用name時(shí)name的值來(lái)自相應(yīng)的域。

        在使用name的值時(shí)將“name”用“this.name”來(lái)代替會(huì)出現(xiàn)什么情況呢,看下例:

        從結(jié)果來(lái)看可以驗(yàn)證提綱中的第4和5條,也可以看到this和作用域是兩套分離的鏈,遵循個(gè)自的變量查詢(xún)邏輯,具體的查詢(xún)邏輯在下面的性能分析中會(huì)提到,如果是新手建議先看一下“js的作用域鏈”方面的基礎(chǔ)知識(shí)。

        關(guān)于函數(shù)的調(diào)用方法,我用下面的方示例說(shuō)明提綱中的第2、6條:

        調(diào)用時(shí)call和apply的使用是為了改變被調(diào)用函數(shù)的this指向。with的使用是為了改變被調(diào)用函數(shù)中變量的查詢(xún)域。我們把上例中的call和name前的this去掉再加上with來(lái)演示with的作用。

        看到with的使用并不方便,需要在被調(diào)用函數(shù)中添加with,有人可能想能不能向下面那樣調(diào)用來(lái)整體改變變量作用域而不去改變被調(diào)用函數(shù)呢?

        很遺憾,不可以!所以在一些成熟的框架中隨處可見(jiàn)call和apply的使用,卻很少用到with,在用JSHint檢測(cè)js語(yǔ)法的時(shí)候with處都標(biāo)了小紅點(diǎn),在一些js編碼指導(dǎo)中也建議盡量少用with,因?yàn)閣ith改變了變量的默認(rèn)查詢(xún)鏈,所以會(huì)給后期的維護(hù)人員一些困惑,還有性能方面的一些考慮,請(qǐng)慎用with。

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        詳細(xì)介紹JavaScript函數(shù)的作用域與this指向

        函數(shù)的作用域與this指向是js中很重要的一部分,理清這點(diǎn)東西需要個(gè)邏輯,看看我的邏輯怎么樣..。下面是個(gè)提綱,可以直接挑你感興趣的條目閱讀。? 函數(shù)的定義方式:直接定義(window下,內(nèi)部定義),對(duì)象的方法,對(duì)象原型的方法。? 函數(shù)的調(diào)用方式:直接調(diào)用,call/apply,with。? 對(duì)于直接定義的函數(shù)和對(duì)象的方法,作用域默認(rèn)狀態(tài)下是它的定義處的作用域鏈。? 對(duì)于直接定義的函數(shù),this指向window。? 對(duì)于對(duì)象的方法,this指向?qū)嵗瘜?duì)象(對(duì)應(yīng)于實(shí)例化對(duì)象默認(rèn)返回this的情況)。? 用call/apply改變方法的this指向。? 在函數(shù)或方法的定義時(shí)可以通過(guò)with改變其作用域鏈。下面分開(kāi)來(lái)具體說(shuō)說(shuō)。
        推薦度:
        標(biāo)簽: js 函數(shù) javascript
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 毛片在线播放免费观看| 久久嫩草影院免费看夜色| 亚洲黄色免费观看| 亚洲av午夜福利精品一区| 中文字幕手机在线免费看电影| 亚洲国产人成中文幕一级二级| 瑟瑟网站免费网站入口| 亚洲精品国产精品国自产观看| 日韩免费码中文在线观看| 亚洲高清视频一视频二视频三| 九九免费精品视频在这里| 久久久久亚洲爆乳少妇无| 青青操视频在线免费观看| 久久久久亚洲精品天堂| 毛片a级毛片免费观看免下载| 亚洲国产一区二区三区在线观看| 午夜小视频免费观看| 人人爽人人爽人人片A免费| 久久亚洲欧洲国产综合| 免费毛片a线观看| 亚洲一区二区三区免费在线观看| 最近中文字幕mv免费高清电影| 亚洲精品又粗又大又爽A片| 亚洲精品视频免费| 久久免费视频精品| 亚洲日产2021三区| 国产免费卡一卡三卡乱码| 久久www免费人成看国产片| 亚洲综合小说久久另类区| 好男人视频在线观看免费看片| 爱情岛论坛免费视频| 国产亚洲精品a在线无码| 亚洲视频免费播放| 美女无遮挡免费视频网站| 精品国产亚洲一区二区三区 | caoporn国产精品免费| 亚洲一区二区中文| 免费一级毛片不卡不收费| 人妻无码一区二区三区免费| 亚洲人成网站999久久久综合| 国产偷国产偷亚洲清高动态图|