作者JYHuang (夏天到了,冷不起來了說)
看板Ajax
標題[問題] 參數相互傳遞的問題
時間Tue Nov 23 17:00:27 2010
嗯..這個情形有點難形容..
簡單的說,就是要把一個函式A丟給一個函式B
而函式B在觸發底下的一個事件時,把函式裡物件中的參數傳遞出去給函式A用
function
funcB(param){
param.text = ...
param.item = ...
element = document.getElementByID('trigger);
element.click =
param.run
}
function
funcA(){
這裡要如何取得funcB中
param這個物件呢?
}
funcB({'
run':
funcA});
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.168.173
1F:→ TonyQ:他們目前沒有關係,綁個關係給他不就好了。 11/23 18:43
2F:推 s25g5d4:.click = function (param) { param.run(param); }(param) 11/23 18:55
3F:→ s25g5d4:不對...以上請無視 11/23 18:55
4F:→ s25g5d4:apply或call? 11/23 18:56
5F:→ TonyQ:apply或call 甚至是 param.run.param=param 都可以. 11/23 20:04
6F:→ TonyQ:重點就是給他們一個關係~ 11/23 20:04
7F:→ tomin:若有解請貼一下解法 funcB.call(funcA)? 然後? 11/23 20:49
8F:推 s25g5d4:param.run.param應該是比較簡單的解法吧 11/23 22:26
10F:→ TonyQ:大家各自負責自己的事情比較好,不然一多就亂了 11/23 22:28
11F:→ s25g5d4:阿...科科 我上面寫的多了括號 就直接執行funcA了 11/23 22:30
12F:→ TonyQ:param.run.param 或者 param.run.prototype.param 是走 pro 11/23 22:31
13F:→ TonyQ:totype 11/23 22:31
15F:→ TonyQ:call 或 apply ,不過基本上除非funcA跟funcB名稱跟它的參數 11/23 22:33
16F:→ TonyQ:夠像 delegater ,不然我實在不建議這樣用。 11/23 22:34
18F:→ TonyQ:有時候實在不是不貼解法,是看到問題覺得這個問題不是它真正 11/23 22:36
19F:→ TonyQ:想問的問題,所以才不寫解,寫出來一方面是瞎猜不見得對,另 11/23 22:36
20F:→ TonyQ:方面則是在這種狀況沒有任何建議解可言。 11/23 22:37
21F:推 tomin:獲益良多 只是param傳來傳去 看了有點暈XD 11/23 23:55
22F:→ JYHuang:JavaScript的用法還真多..又上了一課.. 11/24 09:19
23F:→ JYHuang:感謝TonyQ跟s25g5d4 11/24 09:19