• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. Javascript的call、apply的理解

        時(shí)間:2024-09-11 00:20:58 JavaScript 我要投稿
        • 相關(guān)推薦

        Javascript的call、apply的理解

          call 方法在使用一個(gè)指定的this值和若干個(gè)指定的參數(shù)值的前提下調(diào)用某個(gè)函數(shù)或方法.

          注意:該函數(shù)的語(yǔ)法與 apply() 方法的語(yǔ)法幾乎完全相同,唯一的區(qū)別在于,apply()方法接受的是一個(gè)參數(shù)數(shù)組,而 call()方法接受的是一系列參數(shù)列表。

          了解完這兩個(gè)方法的概念后,我們來(lái)一步一步理解他們的應(yīng)用.

          改變方法內(nèi)this的指向

          我們先來(lái)看下面這個(gè)例子

          var name = "編程的人";var age = 1;var person = {name:"公眾號(hào):bianchengderen",age:20}function say(){console.log("我叫:"+this.name+",年齡:"+this.age)}say();// 我叫: 編程的人,年齡: 1say.call(person);//年齡:20

          這兩種調(diào)用執(zhí)行的方式不一樣,他們的結(jié)果也不一樣,不一樣在于say方法里面的this指向了不同的對(duì)象,第一次執(zhí)行指向的是window,而我們以call方式執(zhí)行,將say方法里面的this指向了person對(duì)象.

          這是不是有點(diǎn)冒充別人的感覺(jué).那我們這樣有什么作用了?當(dāng)然自己可以多多想想,到底能做什么! 我們繼續(xù)往下面走.

          實(shí)現(xiàn)繼承機(jī)制繼承,這是高級(jí)面向?qū)ο蟮囊环N特性,用call我們可以將JAVASCRIPT有這種特點(diǎn).

          在看下面這個(gè)例子之前,必須好好理解上面的例子.

          function Person(){this.name = "編程的人";this.age = 20;}function Student(){Person.call(this);this.school = "地球";}var student = new Student();//下面打印出來(lái): 編程的人,20,地球console.log(student.name,student.age,student.school);

          在這個(gè)例子里,Student函數(shù)繼承了Person的name和age屬性,就是通過(guò)Person.call(this)來(lái)實(shí)現(xiàn),理解上面的例子后,應(yīng)該是不難理解的.所以Student即擁有了Person的特點(diǎn),又有自己的個(gè)性,比如這個(gè)this.school.

          在這里,我們沒(méi)有涉及到加入?yún)?shù)的傳遞,是方便大家的理解,需要加入?yún)?shù)傳遞,大家可以敲代碼試一試,看看效果怎么樣!

          我們就先講這兩個(gè)例子吧,之后再進(jìn)行深入學(xué)習(xí)。

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【Javascript的call、apply的理解】相關(guān)文章:

        對(duì)javascript的理解08-08

        理解JavaScript原型鏈教程09-02

        javascript的閉包概念怎么理解06-15

        javascript面向?qū)ο笾械膶?duì)象怎么理解09-02

        淺談javascript中的單線程理解08-16

        有關(guān)深入理解JavaScript中的并行處理的介紹10-14

        常用的JavaScript模式09-22

        Javascript的this用法簡(jiǎn)述08-15

        JavaScript學(xué)習(xí)筆記08-24

        JavaScript 基礎(chǔ)教學(xué)09-29

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 中文自拍另类中文亚洲无线码 | 中文字幕一本高清在线 | 婷婷中文色字幕 | 一区二区中文字幕 | 亚洲天堂在线观看网址 | 思思热在线视频在线 |

            Javascript的call、apply的理解

              call 方法在使用一個(gè)指定的this值和若干個(gè)指定的參數(shù)值的前提下調(diào)用某個(gè)函數(shù)或方法.

              注意:該函數(shù)的語(yǔ)法與 apply() 方法的語(yǔ)法幾乎完全相同,唯一的區(qū)別在于,apply()方法接受的是一個(gè)參數(shù)數(shù)組,而 call()方法接受的是一系列參數(shù)列表。

              了解完這兩個(gè)方法的概念后,我們來(lái)一步一步理解他們的應(yīng)用.

              改變方法內(nèi)this的指向

              我們先來(lái)看下面這個(gè)例子

              var name = "編程的人";var age = 1;var person = {name:"公眾號(hào):bianchengderen",age:20}function say(){console.log("我叫:"+this.name+",年齡:"+this.age)}say();// 我叫: 編程的人,年齡: 1say.call(person);//年齡:20

              這兩種調(diào)用執(zhí)行的方式不一樣,他們的結(jié)果也不一樣,不一樣在于say方法里面的this指向了不同的對(duì)象,第一次執(zhí)行指向的是window,而我們以call方式執(zhí)行,將say方法里面的this指向了person對(duì)象.

              這是不是有點(diǎn)冒充別人的感覺(jué).那我們這樣有什么作用了?當(dāng)然自己可以多多想想,到底能做什么! 我們繼續(xù)往下面走.

              實(shí)現(xiàn)繼承機(jī)制繼承,這是高級(jí)面向?qū)ο蟮囊环N特性,用call我們可以將JAVASCRIPT有這種特點(diǎn).

              在看下面這個(gè)例子之前,必須好好理解上面的例子.

              function Person(){this.name = "編程的人";this.age = 20;}function Student(){Person.call(this);this.school = "地球";}var student = new Student();//下面打印出來(lái): 編程的人,20,地球console.log(student.name,student.age,student.school);

              在這個(gè)例子里,Student函數(shù)繼承了Person的name和age屬性,就是通過(guò)Person.call(this)來(lái)實(shí)現(xiàn),理解上面的例子后,應(yīng)該是不難理解的.所以Student即擁有了Person的特點(diǎn),又有自己的個(gè)性,比如這個(gè)this.school.

              在這里,我們沒(méi)有涉及到加入?yún)?shù)的傳遞,是方便大家的理解,需要加入?yún)?shù)傳遞,大家可以敲代碼試一試,看看效果怎么樣!

              我們就先講這兩個(gè)例子吧,之后再進(jìn)行深入學(xué)習(xí)。