將函數做為數據
??? 1.用變量引用函數,該變量執行和函數一樣的效果??
??? 函數定義以后? 如 function square(x) { return x*x;}
??? 我們可以?? var a = square(4)?? a 16
??? ?? ?? ?? ? var b = square????? b 就相當于函數squre,它是squre的一個引用,執行效果一樣?? ??
??? ?? ?? ?? ? var c = b(10) ? ? ? c 100
??? 2.將函數指定為一個對象屬性的用法
??? ?? var o? = new Object;
??? ?? o.square = new Function("x","return x*x;");
??? ?? var y = o.square(10);
??? 3.利用函數直接量,將它賦給數組元素;
????? var a? = new Array(3);
??? ??? a[0] = function(x){return x*x;};
??? ??? a[1] = 10;
??? ??? a[2] = a[0](a[1]);
??? ??? alert("a[2] = "+a[2]);
??? 4.將函數做為數據
??? ?? function add(x,y){ return x+y};
??? ?? function subtract(x,y){return x-y};
??? ?? function multiply(x,y){return x*y};
?????? function divide(x,y){return x/y};
?????? function operate(operator,operand1,operand2){
??? ?? ?? ? return operator(operand1,operand2);
??? ??? }
??? ?? var i = operate(add,operate(add,2,3),subtract(10,8));
??? ?? alert(i);
??? ??
???
??? ?? ? ?? ??? ?
posted on 2006-10-12 23:15 嫁蛙 閱讀(157) 評論(0) 編輯 收藏 所屬分類: javascript&ajax&css