※ 本文為 xxxx9659.bbs. 轉寄自 ptt.cc 更新時間: 2013-03-28 21:32:08
看板 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 的武器是風屬性他想要帥器的火焰屬性, 請問要怎麼換?
在這邊我先幫你建一小段
如果有個人 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 03/23 09:45
推 :超酷的XDD2F 03/23 10:59
推 :很推這種方式的教學3F 03/23 12:03
推 :推 太神奇了4F 03/23 14:48
推 :這很酷,不是嗎XDDDD5F 03/25 10:13
推 :coooooooooooooooooooooool6F 03/25 17:07
推 :懂了! 酷~~7F 03/28 21:29
--
※ 看板: xxxx9659 文章推薦值: 0 目前人氣: 0 累積人氣: 111
回列表(←)
分享