作者fwfly (大笨蛋... )
看板Ajax
標題Re: [問題] 練習javascript的時候 遇到困難了(物件)
時間Sat Mar 23 09:14:29 2013
故事是這樣發生的..
首先某人找到了一個可以附加給武器 b 火焰屬性的魔法書 B
window.B = function(){
this.b = function(){
console.log( 'fire ball!!!' ) ;
}
}
接著某人手上有把武器 b 帶有水屬性的攻擊
window.b = function()
{
console.log( 'water atteck!!!!' ) ;
}
接著某人使用了這個魔法書
window.B();
讓我們來偷看一下到底怎麼施加的秘密!
window.B = function(){
this.b = function(){ // this 就是 window
console.log( 'fire ball!!!' ) ;
}
}
並且拿出來練刀, 然後心想喔! 早知道就換成火焰!
window.b(); // fire ball!!!!
所以某人到底是.....請按
\文字模式
------------------------------------------------------------
套句程式說的話
"javascript 的 function 不在乎原先宣告的地方,他在乎的是誰使用他"
這邊從頭到尾都是
window 在使用
B 這個 function, 裡所當然的就是更換 window.b
的內容
window 就是瀏覽器會自動幫你產生的物件, 當你已為你在使用全域變數時
其實都是 window.global = global function 加到這個人身上.
---------------------------------------------------------------
Q & A 現在換你了!( 請把文字模式切回來避免看到答案 )
如果有個人 tank 的武器是風屬性他想要帥器的火焰屬性, 請問要怎麼換?
在這邊我先幫你建一小段
var tank = {}; // 首先產生 tank 這個人
tank.b = function(){ console.log("wind attack!!!") }; // tank 拿到了風屬性的武器
tank.b(); // tank 發出攻擊 wind attack!!!
他覺得這超不 cool.......我想換成火焰, 請利用剛剛的程式碼幫他換一下
Ans :
tank.B = B // 他跟 window 要了這個捲軸
tank.B(); // 它使用了這個捲軸
tank.b(); // 火焰球!!!!!
他現在覺得超酷的! 是不是!!
--
╔═══╗
║fw.fly║
╚═══╝http://www.wretch.cc/blog/fwfly116
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.91.115
※ 編輯: fwfly 來自: 111.252.91.115 (03/23 09:17)
1F:推 coldollsheep:還以為你在跟我開玩笑..結果還真的有點懂了 03/23 09:45
2F:推 Rplus:超酷的XDD 03/23 10:59
3F:推 dlikeayu:很推這種方式的教學 03/23 12:03
4F:推 timmy5519:推 太神奇了 03/23 14:48
5F:推 b12031106:這很酷,不是嗎XDDDD 03/25 10:13
6F:推 b92310051:coooooooooooooooooooooool 03/25 17:07
7F:推 xxxx9659:懂了! 酷~~ 03/28 21:29
8F:推 shvanta:超讚的~ 03/31 11:00