<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Javascript的this用法簡(jiǎn)述

    時(shí)間:2024-08-15 08:06:58 JavaScript 我要投稿
    • 相關(guān)推薦

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

      Javascript中的this關(guān)鍵字要怎么用,它的用法有哪些?下面YJBYS小編為大家介紹如下!

      this是Javascript語(yǔ)言的一個(gè)關(guān)鍵字。

      它代表函數(shù)運(yùn)行時(shí),自動(dòng)生成的一個(gè)內(nèi)部對(duì)象,只能在函數(shù)內(nèi)部使用。比如,

      function test(){

      this.x = 1;

      }

      隨著函數(shù)使用場(chǎng)合的不同,this的值會(huì)發(fā)生變化。但是有一個(gè)總的原則,那就是this指的是,調(diào)用函數(shù)的那個(gè)對(duì)象。

      下面分四種情況,詳細(xì)討論this的用法。

      情況一:純粹的函數(shù)調(diào)用

      這是函數(shù)的最通常用法,屬于全局性調(diào)用,因此this就代表全局對(duì)象Global。

      請(qǐng)看下面這段代碼,它的運(yùn)行結(jié)果是1。

      function test(){

      this.x = 1;

      alert(this.x);

      }

      test(); // 1

      為了證明this就是全局對(duì)象,我對(duì)代碼做一些改變:

      var x = 1;

      function test(){

      alert(this.x);

      }

      test(); // 1

      運(yùn)行結(jié)果還是1。再變一下:

      var x = 1;

      function test(){

      this.x = 0;

      }

      test();

      alert(x); //0

      情況二:作為對(duì)象方法的調(diào)用

      函數(shù)還可以作為某個(gè)對(duì)象的方法調(diào)用,這時(shí)this就指這個(gè)上級(jí)對(duì)象。

      function test(){

      alert(this.x);

      }

      var o = {};

      o.x = 1;

      o.m = test;

      o.m(); // 1

      情況三 作為構(gòu)造函數(shù)調(diào)用

      所謂構(gòu)造函數(shù),就是通過(guò)這個(gè)函數(shù)生成一個(gè)新對(duì)象(object)。這時(shí),this就指這個(gè)新對(duì)象。

      function test(){

      this.x = 1;

      }

      var o = new test();

      alert(o.x); // 1

      運(yùn)行結(jié)果為1。為了表明這時(shí)this不是全局對(duì)象,我對(duì)代碼做一些改變:

      var x = 2;

      function test(){

      this.x = 1;

      }

      var o = new test();

      alert(x); //2

      運(yùn)行結(jié)果為2,表明全局變量x的值根本沒(méi)變。

      情況四 apply調(diào)用

      apply()是函數(shù)對(duì)象的一個(gè)方法,它的作用是改變函數(shù)的調(diào)用對(duì)象,它的第一個(gè)參數(shù)就表示改變后的調(diào)用這個(gè)函數(shù)的對(duì)象。因此,this指的就是這第一個(gè)參數(shù)。

      var x = 0;

      function test(){

      alert(this.x);

      }

      var o={};

      o.x = 1;

      o.m = test;

      o.m.apply(); //0

      apply()的參數(shù)為空時(shí),默認(rèn)調(diào)用全局對(duì)象。因此,這時(shí)的運(yùn)行結(jié)果為0,證明this指的是全局對(duì)象。

      如果把最后一行代碼修改為:

      o.m.apply(o); //1

      運(yùn)行結(jié)果就變成了1,證明了這時(shí)this代表的是對(duì)象o。

    【Javascript的this用法簡(jiǎn)述】相關(guān)文章:

    Javascript中typeof 用法歸納04-01

    javascript分析運(yùn)算符用法04-01

    Javascript函數(shù)的定義和用法分析03-31

    JavaScript中常見(jiàn)的字符串操作函數(shù)及用法07-24

    對(duì)javascript的理解03-29

    JavaScript的課堂講解03-31

    JavaScript 基礎(chǔ)教學(xué)04-01

    JavaScript學(xué)習(xí)筆記03-30

    常用的JavaScript模式03-10

    主站蜘蛛池模板: 久久精品aⅴ无码中文字字幕重口| 91精品最新国内在线播放| 色妞ww精品视频7777| 国产精品无码不卡一区二区三区| 精品亚洲成a人片在线观看| 欧美激情视频精品一区二区| 国产日韩欧美精品| 日韩人妻无码精品一专区| 国产一区二区三区欧美精品| 久久99精品综合国产首页| 精品国产一区二区三区久久久狼| 亚洲精品视频久久久| 精品一区二区三区高清免费观看| 精品国产污污免费网站| 国产欧美亚洲精品A| 精品一区二区三区自拍图片区| 亚洲精品无码久久不卡| 精品精品国产高清a毛片| 国产精品福利电影一区二区三区四区欧美白嫩精品 | 国内精品久久人妻互换| 色偷偷88欧美精品久久久| 国产精品极品| 国产精品乱码一区二区三区| 青青青青久久精品国产| 国产国产成人精品久久| 国产精品无码av在线播放| 精品乱码一区二区三区四区| 亚洲欧洲自拍拍偷精品 美利坚| 精品精品国产理论在线观看| 国产精品极品| 国产免费久久精品99久久| Xx性欧美肥妇精品久久久久久| 久久99热精品| 四虎影视884a精品国产四虎| 久久精品国产99国产精偷| 久久99国产精品久久| 91精品国产91久久久久久青草| 奇米精品一区二区三区在线观看 | 无码国内精品久久人妻蜜桃| 亚洲精品自在在线观看| 无码精品日韩中文字幕|