[問題] 參數相互傳遞的問題

看板Ajax作者 (夏天到了,冷不起來了說)時間15年前 (2010/11/23 17:00), 編輯推噓3(3020)
留言23則, 4人參與, 最新討論串1/5 (看更多)
嗯..這個情形有點難形容.. 簡單的說,就是要把一個函式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

11/23 18:43, , 1F
他們目前沒有關係,綁個關係給他不就好了。
11/23 18:43, 1F

11/23 18:55, , 2F
.click = function (param) { param.run(param); }(param)
11/23 18:55, 2F

11/23 18:55, , 3F
不對...以上請無視
11/23 18:55, 3F

11/23 18:56, , 4F
apply或call?
11/23 18:56, 4F

11/23 20:04, , 5F
apply或call 甚至是 param.run.param=param 都可以.
11/23 20:04, 5F

11/23 20:04, , 6F
重點就是給他們一個關係~
11/23 20:04, 6F

11/23 20:49, , 7F
若有解請貼一下解法 funcB.call(funcA)? 然後?
11/23 20:49, 7F

11/23 22:26, , 8F
param.run.param應該是比較簡單的解法吧
11/23 22:26, 8F

11/23 22:28, , 9F
我個人最喜歡這個 http://jsfiddle.net/4DYK2/2/
11/23 22:28, 9F

11/23 22:28, , 10F
大家各自負責自己的事情比較好,不然一多就亂了
11/23 22:28, 10F

11/23 22:30, , 11F
阿...科科 我上面寫的多了括號 就直接執行funcA了
11/23 22:30, 11F

11/23 22:31, , 12F
param.run.param 或者 param.run.prototype.param 是走 pro
11/23 22:31, 12F

11/23 22:31, , 13F
totype
11/23 22:31, 13F

11/23 22:31, , 14F

11/23 22:33, , 15F
call 或 apply ,不過基本上除非funcA跟funcB名稱跟它的參數
11/23 22:33, 15F

11/23 22:34, , 16F
夠像 delegater ,不然我實在不建議這樣用。
11/23 22:34, 16F

11/23 22:34, , 17F

11/23 22:36, , 18F
有時候實在不是不貼解法,是看到問題覺得這個問題不是它真正
11/23 22:36, 18F

11/23 22:36, , 19F
想問的問題,所以才不寫解,寫出來一方面是瞎猜不見得對,另
11/23 22:36, 19F

11/23 22:37, , 20F
方面則是在這種狀況沒有任何建議解可言。
11/23 22:37, 20F

11/23 23:55, , 21F
獲益良多 只是param傳來傳去 看了有點暈XD
11/23 23:55, 21F

11/24 09:19, , 22F
JavaScript的用法還真多..又上了一課..
11/24 09:19, 22F

11/24 09:19, , 23F
感謝TonyQ跟s25g5d4
11/24 09:19, 23F
文章代碼(AID): #1CwuAjKF (Ajax)
文章代碼(AID): #1CwuAjKF (Ajax)