日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

JS技巧:詳解Javascript的this用法

admin
2010年8月17日 22:59 本文熱度 4093

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


它代表函數(shù)運(yùn)行時(shí),自動(dòng)生成的一個(gè)內(nèi)部對象,只能在函數(shù)內(nèi)部使用。比如,
  function test(){
    this.x = 1;
  }
隨著函數(shù)使用場合的不同,this的值會(huì)發(fā)生變化。但是有一個(gè)總的原則,那就是this指的是,調(diào)用函數(shù)的那個(gè)對象。
下面分四種情況,詳細(xì)討論this的用法。


情況一:純粹的函數(shù)調(diào)用
這是函數(shù)的最通常用法,屬于全局性調(diào)用,因此this就代表全局對象Global。
請看下面這段代碼,它的運(yùn)行結(jié)果是1。
  function test(){
    this.x = 1;
    alert(this.x);
  }
  test(); // 1
為了證明this就是全局對象,我對代碼做一些改變:
  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


情況二:作為對象方法的調(diào)用
函數(shù)還可以作為某個(gè)對象的方法調(diào)用,這時(shí)this就指這個(gè)上級對象。
  function test(){
    alert(this.x);
  }
  var o = {};
  o.x = 1;
  o.m = test;
  o.m(); // 1


情況三 作為構(gòu)造函數(shù)調(diào)用
所謂構(gòu)造函數(shù),就是通過這個(gè)函數(shù)生成一個(gè)新對象(object)。這時(shí),this就指這個(gè)新對象。
  function test(){
    this.x = 1;
  }
  var o = new test();
  alert(o.x); // 1
運(yùn)行結(jié)果為1。為了表明這時(shí)this不是全局對象,我對代碼做一些改變:
  var x = 2;
  function test(){
    this.x = 1;
  }
  var o = new test();
  alert(x); //2
運(yùn)行結(jié)果為2,表明全局變量x的值根本沒變。


情況四 apply調(diào)用
apply()是函數(shù)對象的一個(gè)方法,它的作用是改變函數(shù)的調(diào)用對象,它的第一個(gè)參數(shù)就表示改變后的調(diào)用這個(gè)函數(shù)的對象。因此,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)用全局對象。因此,這時(shí)的運(yùn)行結(jié)果為0,證明this指的是全局對象。
如果把最后一行代碼修改為
  o.m.apply(o); //1
運(yùn)行結(jié)果就變成了1,證明了這時(shí)this代表的是對象o。
(完)


該文章在 2010/8/17 22:59:43 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 欧美性狂猛aa | 喷了一地 | 成人国产在线视频 | 国产一级大片在线观看 | 日本一本在 | www.99re6这里有精品 | 亚洲卡一卡二卡三乱草莓 | 丰满的女房东在线观看6 | 国产suv精品一区二区四 | 精品国产aⅴ| 亚洲日韩成人精品不卡在线 | 国产尤物在线观看 | 两性午夜刺| 亚洲国产精品一区二区九九 | 最新91精品老司机在线 | 97在线视频免费观看视频免费 | 男人j放进女人p全黄在线 | 天美传奇mv免费观看完整版 | 国产精品一区二区高清在线 | 97精品久 | 136福利 | 噼里啪啦国语在线观看高清资源 | 欧美日产国产精品视 | 欧美激情日韩 | 在线观看国产中文日本 | 日日插夜夜爽 | 亚洲韩精品欧美一区二区三区 | 亚洲欧美日韩精品综合网 | 最新福利电影在线看 | 在线欧美日韩精品一区二区 | 97一区二区在线播放 | 国产日韩另类视频一区 | 欧美人与禽zozo性伦交 | 亚洲中文在线精品国产 | 最近在线观看免费完整版高清电影 | 无人区码一码二码三 | 手机看片日韩国产一区二区 | 亚洲欧洲中文字幕免费看 | 国产精品三区四区 | 97超级碰碰碰碰精品 | 特级国产午夜理论不卡 |