看板 Web_Design 關於我們 聯絡資訊
喔喔喔真的ㄟ! 其實小弟剛剛有想到y大(似乎是同校的XD)講的,就是把function當成object傳遞過去 但是後來想到說這樣是不是就不能傳遞參數了呢? 像是這種情況 function changeinputtext(inputname) { 改變某一個文字欄位的值 } calendar.hide(changeinputtext("abc")); 似乎就不行了 修正一下剛剛發現似乎要用 calendar.hide("changeinputtext('abc')"); 這樣比較合理XD 還是說要用callback的話,應該是改成 calendar.hide(function() { changeinputtext("abc"); });才對呢? (不過這也是小弟最常見的寫法) 因為第一次想到要寫這種會有callback的程式,所以才想說能不能用 比較符合一般設計習慣的做法來呼叫自訂函式呢XD 那就先謝謝板上的前輩了XD ※ 引述《ybite (小犬)》之銘言: : ※ 引述《Kelunyang (可倫)》之銘言: : : 是這樣的,小弟現在有用一款JavaScript的日曆,但是並不大符合小弟的需求 : : 所以想說乾脆重新寫一個,但是這個日曆有個好處是他可以設定使用者在完成 : : 某一的動作之後,直接呼叫另外一個函式處理,就像是Ajax裡面的onreadystate : : 這樣 : : 比如說 calendar.hide(send) : : 這樣就會執行send那個函式 : : 那小弟現在是想請問說,這樣hide那個函式應該是用eval(),才能夠適應 : : 不同的函式名稱囉? : : 或者是這樣的需求有另外一種作法 : : 大概就是這樣了,先謝謝版上前輩的回應<(_ _)> : 剛剛回錯了,自刪 = = : 不需要用eval : JavaScript的function其實很方便,可以這樣做 xD : var calendar = {}; // 初始化Calendar object : calendar.hide = function (callback) { : if (typeof callback != 'function') { return false; } // 安全考量 : /* 在這裡做你想要的事情 */ : callback(); // 執行callback傳入的函數 : } : 所以你可以這樣呼叫 : calendar.hide(function() { window.alert('Hello World!'); } ); -- 新的Blog歡迎大家多多參觀喔~ http://kelunyang.wordpress.com -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.37.199 ※ 編輯: Kelunyang 來自: 61.220.37.199 (02/27 18:22)
grence:javascript arguments[] 02/28 01:58