this用法

<script type="text/javascript">

varbtn=document.getElementsByTagName_r('button');

varmyA=document.getElementsByTagName_r('a');

varmySpan=document.getElementsByTagName_r('span');

varmyBody=document.getElementsByTagName_r('body');

vara_arr=['red','green','black'];

varbody_arr=['pink','#a3c5a8','gray'];

window.onload=function() {

for(varj=0;j<myA.length;j++) {

myA[j].style.backgroundColor=a_arr[1];

}

myBody[0].style.backgroundColor=body_arr[1];

mySpan[1].style.background='white';

}

for(vari=0; i<a_arr.length;i++) {

console.log(a_arr[i]);

btn[i].index=i;

btn[i].onclick=function() {

console.log(1);

console.log(a_arr[i]);

for(varj=0;j<myA.length;j++) {

myA[j].style.backgroundColor=a_arr[this.index];

}

myBody[0].style.backgroundColor=body_arr[this.index];

mySpan[this.index].style.backgroundColor='white';

if(this.index==0) {

mySpan[this.index+1].style.backgroundColor='transparent';

mySpan[this.index+2].style.backgroundColor='transparent';

}

if(this.index==1){

mySpan[this.index-1].style.backgroundColor='transparent';

mySpan[this.index+1].style.backgroundColor='transparent';

}

if(this.index==2){

mySpan[this.index-1].style.backgroundColor='transparent';

mySpan[this.index-2].style.backgroundColor='transparent';

}

console.log(this.index);

console.log(this.index-1);

console.log(this.index+1);

}

}

script>

如上段代碼所示,相信如果看的話都能看懂。所以在此我就簡(jiǎn)單的說一下窿冯,我之前在寫這段代碼的時(shí)候遇到的問題。

1牲芋、正如您所看到的第一個(gè)加粗變大呈紅色的代碼:btn[i].index=i;我之前寫的時(shí)候沒有加這句話冯遂,而且在a_arr數(shù)組里面添加的也不是,而是i膘茎,但是造成的結(jié)果是出不來我想要的結(jié)果薪夕,而且如果在控制臺(tái)把a(bǔ)_arr[i]打印出來的話脚草,結(jié)果會(huì)顯示說a_arr[i]未定義。原因很簡(jiǎn)單 因?yàn)镴S是一種解釋性的腳本語言原献,只有當(dāng)用戶需要的時(shí)候馏慨,才會(huì)解釋其相對(duì)應(yīng)的代碼。而且我之前的那段代碼是寫在btn的點(diǎn)擊事件里面姑隅,所以只有當(dāng)用戶點(diǎn)擊按鈕的時(shí)候才會(huì)執(zhí)行里面的代碼写隶,而此時(shí)頁面中的i已經(jīng)結(jié)束的它自身的循環(huán),即i的值為3讲仰;當(dāng)我們點(diǎn)擊的時(shí)候a_arr[3],很顯然在數(shù)組a_arr[]里面沒有這個(gè)值樟澜,所以在控制臺(tái)才會(huì)出現(xiàn)undefined。

2叮盘、把代碼寫成上述的好處:在點(diǎn)擊之前 利用for循環(huán),將i的值付給每個(gè)btn[i]的下標(biāo) 即btn[i].index霹俺。

我們都知道下標(biāo)都是從0開始柔吼,所以btn[i].index也就對(duì)應(yīng)著每一個(gè)i的值。當(dāng)鼠標(biāo)點(diǎn)擊按鈕的時(shí)候丙唧,this.index就相當(dāng)于btn[i].index的值愈魏,(this指代當(dāng)前對(duì)象的所有者),也就是點(diǎn)擊按鈕的那個(gè)下標(biāo)想际。然后將這一點(diǎn)的下標(biāo)值傳送到a_arr[]數(shù)組里面培漏。即可得到我們想要的結(jié)果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市胡本,隨后出現(xiàn)的幾起案子牌柄,更是在濱河造成了極大的恐慌,老刑警劉巖侧甫,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件珊佣,死亡現(xiàn)場(chǎng)離奇詭異蹋宦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)咒锻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門冷冗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惑艇,你說我怎么就攤上這事蒿辙。” “怎么了滨巴?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵思灌,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我兢卵,道長(zhǎng)习瑰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任秽荤,我火速辦了婚禮甜奄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘窃款。我一直安慰自己课兄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布晨继。 她就那樣靜靜地躺著烟阐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪紊扬。 梳的紋絲不亂的頭發(fā)上蜒茄,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音餐屎,去河邊找鬼檀葛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腹缩,可吹牛的內(nèi)容都是我干的屿聋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼藏鹊,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼润讥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盘寡,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤楚殿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后宴抚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勒魔,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甫煞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冠绢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抚吠。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖弟胀,靈堂內(nèi)的尸體忽然破棺而出楷力,到底是詐尸還是另有隱情,我是刑警寧澤孵户,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布萧朝,位于F島的核電站,受9級(jí)特大地震影響夏哭,放射性物質(zhì)發(fā)生泄漏检柬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一竖配、第九天 我趴在偏房一處隱蔽的房頂上張望何址。 院中可真熱鬧,春花似錦进胯、人聲如沸用爪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽偎血。三九已至,卻和暖如春盯漂,著一層夾襖步出監(jiān)牢的瞬間颇玷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工就缆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亚隙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓违崇,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親诊霹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子羞延,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 參考鏈接 this 關(guān)鍵字 深入理解上下文this 慕課視頻 基本含義 以上示例中實(shí)際都是執(zhí)行的showName方...
    day_day_up閱讀 809評(píng)論 2 3
  • 總結(jié)一波 this 的理解,首先在最開始引用一句“this的指向在函數(shù)定義的時(shí)候是確定不了的脾还,只有函數(shù)執(zhí)行的時(shí)候才...
    肆意木閱讀 342評(píng)論 0 5
  • 深入淺出 JavaScript 中的 this 在 Java 等面向?qū)ο蟮恼Z言中伴箩,this 關(guān)鍵字的含義是明確且具...
    lyzaijs閱讀 678評(píng)論 0 0
  • 今天接到一個(gè)電話面試,就問了一個(gè)問題鄙漏,說:你詳細(xì)說一下生命周期中onPause嗤谚。 這肯定是學(xué)習(xí)Android的第一...
    codeRL閱讀 3,827評(píng)論 1 1
  • 第一次遇見她的時(shí)候是在小學(xué)棺蛛,那時(shí)候的她因一些原因性格內(nèi)向,很少和他人說話巩步,更少和他人玩耍旁赊,而我都是因?yàn)榈搅?..
    伊卡洛斯式閱讀 333評(píng)論 0 0