题目:
1.找出数字数组中最大的元素(使用Math.max函数)2.转化一个数字数组为function数组(每个function都弹出相应的数字)3.给object数组进行排序(排序条件是每个元素对象的属性个数)4.利用Javascript打印出Fibonacci数(不使用全局变量)5.实现如下语法的功能:var a = (5).plus(3).minus(6); //26.实现如下语法的功能:var a = add(2)(3)(4); //9解答:1.
var a = [10,1,2,3,4,8,9];function max(a){ var len = a.length-1; var maxnum=a[len]; while (len--) { maxnum=Math.max(maxnum,a[len]) } return maxnum; } alert(max(a));
另解:
function getArrMax(){ return Math.max.apply(null,a); }
2.
var getNumFun = []; function toFun(a){ var len = a.length; while (len--) { (function(i){ getNumFun[i] = function(){ alert(a[i]); } } )(len); } }/* toFun(a); getNumFun[5](); */
3.
var objarr = [ {a:2,b:1}, {d:5}, {a:1,b:2,c:3} ];function rule(o1,o2){ var sizeObj = function(obj){ var size=0; for(var i in obj) size++; return size; } return sizeObj(o1) - sizeObj(o2); }/* objarr.sort(rule); console.log(objarr[0]); */
4.
function Fib(n){ if(n===1||n===2){return 1;} else return Fib(n-1)+Fib(n-2); }/* console.log(Fib(10)); */
5.
Number.PRototype.plus = function(x){ return this+x; } Number.prototype.minus = function(x){ return this-x; }/* console.log((5).plus(3).minus(6)); */
6.
function add(num){ var self = arguments.callee; /* alert(self);//undefined,5,13 ~~的作用*/ num += ~~self; self.num = num; return self;}//valueOf是给运行和控制台用,toString是给alert用add.valueOf = add.toString = function(){return add.num};alert(add(5)(8)(6)); //19
新闻热点
疑难解答