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

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

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        對JavaScript中this指針的新理解分享_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:33:52
        文檔

        對JavaScript中this指針的新理解分享_javascript技巧

        對JavaScript中this指針的新理解分享_javascript技巧:一直以來對this的理解只在可以用,會用,卻沒有去深究其本質。這次,借著《JavaScript The Good Parts》,作了一次深刻的理解。(所有調試都可以在控制臺中看到,瀏覽器F12鍵) 下面我們一起來看看這個this吧。 在我們聲明一個函數時,每個函數除了有定義時的p
        推薦度:
        導讀對JavaScript中this指針的新理解分享_javascript技巧:一直以來對this的理解只在可以用,會用,卻沒有去深究其本質。這次,借著《JavaScript The Good Parts》,作了一次深刻的理解。(所有調試都可以在控制臺中看到,瀏覽器F12鍵) 下面我們一起來看看這個this吧。 在我們聲明一個函數時,每個函數除了有定義時的p

        一直以來對this的理解只在可以用,會用,卻沒有去深究其本質。這次,借著《JavaScript The Good Parts》,作了一次深刻的理解。(所有調試都可以在控制臺中看到,瀏覽器F12鍵)

        下面我們一起來看看這個this吧。

        在我們聲明一個函數時,每個函數除了有定義時的parameters(形參),自身還會有額外的兩個參數,一個是this,一個是arguments(實參)。arguments就是函數實際接受到的參數,是一個類數組。arguments我只做個簡略的介紹,重點我們放在this指針上。

        在面向對象變成中,this十分重要,它的值取決于調用的模式。而在JavaScript中,一共有4中調用模式:方法調用模式、函數調用模式、構造函數調用模式、apply調用模式。

        方法調用模式

        當一個函數是作為一個對象的屬性時,我們通常稱這個函數是這個對象的一個方法。當這個方法被調用時,this就會指向該方法所屬對象。

        代碼如下:

        代碼如下:
        var people = {
        name : "people-Yika",
        student : function(){
        var self = this; //將this緩存起來
        function sayName(){
        var name = "sayName-Yika";
        console.log(self.name); //"people-Yika",此時的self指向的是people對象
        };
        sayName();
        }
        }

        構造函數調用模式

          JavaScript里一講到構造函數,腦海里就會有:“函數名大寫!調用的時候要用new操作符!” 函數名大寫好理解,是為了規范統一構造函數的命名。可是你有沒有深究過為什么要用new呢?如果在一個函數前面帶上new來調用,那么函數后臺會創建一個指向該函數prototype的新對象,同時this也綁定在新對象上。JavaScript是一門基于原型繼承的語言,對原型prototype不是很清楚的同學可以自己去查一下資料,我重點放在this上面。

        我們先來看看構造函數一般長什么樣子。

        代碼如下:
        輸出
          }
        }
          var Yika = new People("Yika");
        Yika.sayName(); //輸出“Yika" ,因為Yika是通過new調用得來的,this都綁定在了Yika對象上。

        乍一看,好像不是好懂,怎么剛才在函數里的this是指向window,現在不用緩存就可以指向People函數呢?

        沒關系,剛才不是說函數通過new調用,會在背地里自己做“做壞事”么,我們一起看看到底做了哪些事。

        代碼如下:
        輸出"Yika"

        這樣看就明白清楚了吧,new不僅會生成一個對象,而且還會自動return這個對象,這樣自然this便指向了這個新對象。

        千萬記得要用 new 去調用構造函數,不然出了問題,是沒有警告的,所有大寫約定還是十分有必要的。

        Apply調用模式

        apply方法讓我們構建一個參數數組傳遞給調用函數,也允許我們改變this值。

        function.apply(this綁定的值, arguments參數數組)

        apply可以說的東西太多了,我這里只舉個的栗子來幫助大家理解:
        代碼如下:
        輸出“Yika”

        我們可以通過apply輕易的修改函數的this綁定對象,和apply相似的方法call也有一樣的效果,有興趣的同學可以自己搜索學習一下。

        好了,總算講完改變this的四種調用模式了,方法調用模式和構造函數調用模式會用的更多,也會更重要一點,而函數調用模式,我們則要學會避開其中的陷阱。

        若有錯誤,請及時反映,我會盡快糾正,以防誤導他人,謝謝!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        對JavaScript中this指針的新理解分享_javascript技巧

        對JavaScript中this指針的新理解分享_javascript技巧:一直以來對this的理解只在可以用,會用,卻沒有去深究其本質。這次,借著《JavaScript The Good Parts》,作了一次深刻的理解。(所有調試都可以在控制臺中看到,瀏覽器F12鍵) 下面我們一起來看看這個this吧。 在我們聲明一個函數時,每個函數除了有定義時的p
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 免费播放特黄特色毛片| 精品亚洲国产成人av| 国产成人精品曰本亚洲79ren| 久久国产高潮流白浆免费观看| 未满十八私人高清免费影院| 色天使亚洲综合在线观看| 亚洲AV无码成人专区片在线观看| 亚洲国产成人久久精品99| 在线观看特色大片免费视频| 57pao一国产成永久免费| 中文字幕版免费电影网站| 在线观看亚洲电影| 亚洲色成人WWW永久在线观看| 亚洲欧洲日产v特级毛片| 亚洲AV乱码一区二区三区林ゆな| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲黄片手机免费观看| 日韩色日韩视频亚洲网站| 亚洲中文字幕乱码一区| 亚洲成a人片在线观看中文app| 亚洲高清视频在线播放| 久久久久久亚洲精品中文字幕| 亚洲乱亚洲乱妇无码麻豆| 亚洲综合另类小说色区色噜噜| 亚洲成A∨人片天堂网无码| 日本特黄特色免费大片| 免费高清在线爱做视频| 免费无码看av的网站| 免费无码又爽又高潮视频| 麻豆国产精品入口免费观看| 久久天天躁狠狠躁夜夜免费观看| 9久9久女女免费精品视频在线观看 | 亚洲成人在线免费观看| 久久精品免费观看| 午夜精品射精入后重之免费观看| 久久久久久久99精品免费| 久久午夜羞羞影院免费观看| 91福利免费视频| 精品香蕉在线观看免费| 免费无码AV片在线观看软件| 在线观看免费毛片|