作者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