Re: [問題] JavaScript 指定 function問題..

看板Web_Design作者 ( ^-^)時間19年前 (2006/01/20 21:51), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串2/6 (看更多)
不太清楚你的問題 函式中可以呼叫其它函式 遞迴也是可以的 函式本身也是物件, 所以可以用 new Function("..code..") 的方式宣告 甚至也可以在函式中宣告函式 比方說 function FEMC() { function AKD() { /* ..blah.. */ } AKD(); } (function FEMC() {...} 可以想成是 var FEMC = new Function("...");) 這時候函式的 scope 就很有趣了 詳情請參考 Programming Language 的教科書 要有良好的概念,就要知道 function 跟 object, array 一樣 都是一個物件 function 變數可以以後面加括號的方式來執行 所以說,你也可以弄 function 陣列: var fa = new Array(new Function("alert('1');"),new Function("alert('2');"),..); 然後 fa[0](); fa[1](); 來執行 也可以寫串接 function : function flist(next,func) { var that = this; function rfunc() { that.func(); if(next) that.next.run(); } this.next = next; this.func = func; this.run=rfunc; } 然後 head = new flist(new flist(new flist(null,blah1),blah2),blah3); head(); 也可以動態產生 function: var userinput = document.getElementById("input").value; userfunction = new Function(userinput); 再配合 eval 跟 setTimeout 就更邪惡了 因此在 javascript 中所謂的成員函式(或方法) 也就只是另一個成員變數罷了 ※ 引述《milen (OOXX點點點)》之銘言: : 今天才在看java script : 所以跑來翻舊文= =" : 請問一下.... : 函數之中不可再呼叫其他函式嗎?@@" : 但卻又可以跑遞迴? : 書中對類似函式的需求是去設定方法(method)就是了@@" : ※ 引述《TKirby ( ^-^)》之銘言: : : 你可以參考一下2128篇, "R: [問題] 請教一個javascript語法" : : onchange = OnChangeBrand(..); 代表把 onchange 設成函式執行後的值 : : 而不是把 OnChangeBrand 設成 onchange 會去執行的函式 : : 這樣寫就沒問題了 : : : obj1.onchange=function (obj1, a) { : : ... : : } : : 可以再稍微包裝一下讓這個函式可以重複利用 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.52

01/20 22:50, , 1F
fa陣列對現在的我來說已經邪惡到極點了@@"其他領悟中>"<
01/20 22:50, 1F

01/20 23:12, , 2F
這篇可以借轉嗎?
01/20 23:12, 2F

01/20 23:14, , 3F
可以 :p
01/20 23:14, 3F
文章代碼(AID): #13qEhUsJ (Web_Design)
文章代碼(AID): #13qEhUsJ (Web_Design)