javascriptµÄcurryingº¯Êý
curryingº¯ÊýÊÇÒ»ÖÖ·µ»Øº¯ÊýµÄº¯Êý£¬ÊDZհü×îΰ´óµÄÓ¦ÓÃÖ®Ò»¡£Óйرհü¸üÏêϸµÄ¶¨Òå¿É²Î¼ûÕâÀïÓëÕâÀï¡£ÈçÏÂcurryingº¯ÊýµÄÒ»ÖÖ¶¨Òå¡£
×îÔçÆÚµÄcurryº¯ÊýÓеã¶à̬µÄÒâ棬¾ÍÊǸù¾Ýº¯Êý²ÎÊýÔÚÄÚ²¿Ñ¡Ó÷ÖÖ§£º
//http://www.openlaszlo.org/pipermail/laszlo-user/2005-March/000350.html
// ¡ï¡ïOn 8 Mar 2005, at 00:06, Steve Albin wrote:
function add(a, b) {
if (arguments.length < 1) {
return add;
} else if (arguments.length < 2) {
return function(c) { return a + c }
} else {
return a + b;
}
}
var myadd = add( 2 );
var total = myadd(3);
ÈÕ±¾µÄÒ»¸öÏÈÐÐÕß¿ÉÄÜÔÚδ¸ãÇåargumentsÒ²ÄÜÓÃArrayµÄÔÉú·½·¨×ª»»ÎªÊý×éµÄʱºò£¬Ó÷dz£¸´ÔÓµÄÕýÔòÓëeval¸ã³öÒ»¸ö¸ü½Ó½üÏÖ´úcurryingÒâζµÄº¯Êý¡£
function curry(fun) {
if (typeof fun != 'function') {
throw new Error("The argument must be a function.");
}
if (fun.arity == 0) {
throw new Error("The function must have more than one argument.");
}
var funText = fun.toString();
var args = /function .*\((.*)\)(.*)/.exec(funText)[1].split(', ');
var firstArg = args.shift();
var restArgs = args.join(', ');
var body = funText.replace(/function .*\(.*\) /, "");
var curriedText =
"function (" + firstArg + ") {" +
"return function (" + restArgs + ")" + body +
"}";
eval("var curried =" + curriedText);
return curried;
}
function curry(fun) {
if (typeof fun != 'function') {
throw new Error("The argument must be a function.");
}
if (fun.arity == 0) {
throw new Error("The function must have more than one argument.");
}
var funText = fun.toString();
var args = /function .*\((.*)\)(.*)/.exec(funText)[1].split(', ');
var firstArg = args.shift();
var restArgs = args.join(', ');
var body = funText.r
Ïà¹ØÎĵµ£º
scrollHeight: »ñÈ¡¶ÔÏóµÄ¹ö¶¯¸ß¶È¡£
scrollLeft:ÉèÖûò»ñȡλÓÚ¶ÔÏó×ó±ß½çºÍ´°¿ÚÖÐĿǰ¿É¼ûÄÚÈݵÄ×î×ó¶ËÖ®¼äµÄ¾àÀë
scrollTop:ÉèÖûò»ñȡλÓÚ¶ÔÏó×î¶¥¶ËºÍ´°¿ÚÖпɼûÄÚÈݵÄ×î¶¥¶ËÖ®¼äµÄ¾àÀë
scrollWidth:»ñÈ¡¶ÔÏóµÄ¹ö¶¯¿í¶È
offsetHeight:»ñÈ¡¶ÔÏóÏà¶ÔÓÚ°æÃæ»òÓɸ¸×ø±ê offsetParent ÊôÐÔÖ¸¶¨µÄ¸¸×ø±êµÄ¸ß¶È
offsetL ......
function select_all(){
var paras = document.getElementsByTagName("input");//ȫѡcheckbox
if(document.getElementById("all").checked==true){
for(var i=0; i<paras.length; i++){
var name = paras[i].getAttribute("name") //µ¥Ñ¡checkboxµÄname¾ùd ......
£¨×¢£ºÒÔϹ¤¾ßµÄ½éÉÜת×ÔJAVAEYE 2Ô¿¯£©
¡¡¡¡½ñÌìÔÚJavaEye 2Ô¿¯ÉÏ¿´µ½ÕâÆª×ܽáJavaScriptµÄÎÄÕ£¬¾õµÃдµÄºÜºÃ£¬ÏÖ°ÑÕâЩ¹¤¾ßµÄ½éÉÜ×ªÔØ¹ýÀ´×ö¹ý±£´æ£¬ÒÔºóÓõ½µÄ»°Ò²¿ÉÒÔ²éѯ²éѯ:-P
¡¡¡¡ÔÚAJAXÁ÷ÐеĽñÌìºÜ´ó³Ì¶ÈÉϹ鹦ÓÚJavaScript£¬Èç¹ûûÓÐJS£¬ÏàÐÅAJAXÒ²ÎÞ´Ó̸Æð¡£JavaScriptÊÇÒ»¸ö¹¦ÄÜÇ¿´óµÄ¿Í»§¶Ë½Å±¾ÓïÑÔ£¬Ë ......
1. oncontextmenu="window.event.returnValue=false" ½«³¹µ×ÆÁ±ÎÊó±êÓÒ¼ü
<table border oncontextmenu=return(false)> <td>no </table> ¿ÉÓÃÓÚTable
2. <body onselectstart="return false"> È¡Ïûѡȡ¡¢·ÀÖ¹¸´ÖÆ
3. onpaste="return false" ²»×¼Õ³Ìù
4. oncopy="return false;" onc ......
¼ÌÐøÉÏÒ»²¿·Ö£¬ÏÖÔÚÎÒÃǵÄʵµÄ¹¹ÔìÆ÷initializeºÜÍêÃÀÁË£¬ÉõÖÁÁ¬ÀàʽsuperÕâÑùÓï·¨ÌǶ¼²»ÓÃÁË£¬¾Í×Ô¶¯ÊµÀýÁ˸¸Àà¡£ÎÒÃÇת¶ø¿´Ò»¿´ÆäÊôÐÔÓë·½·¨µÄ¼Ì³Ð¡£Ðí¶àÀà¿â¶¼ÊÇÒ»¸öfor...inÑ»·ÔÙ¼ÓһЩÅж¨ÊµÏÖÔÐÍÊôÐÔ¿½±´£¬»ò¸ù¾ÝÕâЩÅж¨°ÑijЩÊôÐÔ¾¾³öÀ´¼Ó¹¤Ò»ÏÂÔٷŽøÈ¥¡£ÓÖÈ磬ÎÒÃÇÒª¶ÔArrayµÄÄ£°å½øÐÐÀ©Õ¹£¬×ö³ÉÒ»¸öÐÂÀàArray2 ......