1 | (+ 1 3 4 5 6 7) |
1 2 3 4 5 6 7 8 9 10 | function sum(){ var res = 0; for ( var i = 0, len = arguments.length; i < len; i++){ res += parseInt(arguments); } return res; } print(sum(1,2,3)); print(sum(1,2,3,4,6,7,8)); |
1 2 | 6 31 |
1 2 3 4 5 6 7 8 9 10 | function add(a, b){ return a+b; } function sub(a, b){ return a-b; } function mul(a, b){ return a*b; } function div(a, b){ return a/b; } function rem(a, b){ return a%b; } function inc(x){ return x + 1; } function dec(x){ return x - 1; } function equal(a, b){ return a==b; } function great(a, b){ return a>b; } function less(a, b){ return a<b; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // 修改之前的代码 function factorial(n){ if (n == 1){ return 1; } else { return factorial(n - 1) * n; } } // 更接近“函数式”编程风格的代码 function factorial(n){ if (equal(n, 1)){ return 1; } else { return mul(n, factorial(dec(n))); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function outter(){ var n = 0; return function (){ return n++; } } var o1 = outter(); o1();//n == 0 o1();//n == 1 o1();//n == 2 var o2 = outter(); o2();//n == 0 o2();//n == 1 |
1 2 3 4 | var con = $("div#con"); setTimeout( function (){ con.css({background:"gray"}); }, 2000); |
1 2 3 4 5 6 7 8 9 10 11 12 13 | var outter = []; function clouseTest () { var array = ["one", "two", "three", "four"]; for ( var i = 0; i < array.length;i++){ var x = {}; x.no = i; x.text = array; x.invoke = function (){ print(i); } outter.push(x); } } |
1 2 3 4 5 6 7 | { no : Number, text : String, invoke : function (){ // 打印自己的 no 字段 } } |
1 2 3 4 | clouseTest();// 调用这个函数,向 outter 数组中添加对象 for ( var i = 0, len = outter.length; i < len; i++){ outter.invoke(); } |
1 2 3 4 | 4 4 4 4 |
1 2 3 | function invoke(){ print(i); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var outter = []; function clouseTest2(){ var array = ["one", "two", "three", "four"]; for ( var i = 0; i < array.length;i++){ var x = {}; x.no = i; x.text = array; x.invoke = function (no){ return function (){ print(no); } }(i); outter.push(x); } } |
1 2 3 4 5 6 7 8 | //x == 0 x.invoke = function (){print(0);} //x == 1 x.invoke = function (){print(1);} //x == 2 x.invoke = function (){print(2);} //x == 3 x.invoke = function (){print(3);} |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |