javascript题目
最近在看汤姆大叔的《深入正解JavaScript》系列,虽然看得有点晕乎乎的,但也感到其乐无穷。非常感谢汤姆大叔的精彩讲解。今天看到了系列(20),然后后面有六道题目,详细通过这些题目也可以再次加深对JavaScript基础核心特性的理解。最后一个参考了下面的跟帖。(哈哈……我不是故意的)
-
找出数字数组中最大的元素(使用Match.max函数)
// 找出数字数组中最大的元素(使用Match.max函数) var numArr = [1, 2, 3, 4, 5]; var maxNum = Math.max.apply(null, numArr); console.log(maxNum);
-
转化一个数字数组为function数组(每个function都弹出相应的数字)
// 转化一个数字数组为function数组(每个function都弹出相应的数字) function toChange(numArray){ var fnArray = Array(); for(var i = 0, ii = numArray.length; i < ii; ++i){ var func = (function(num){ return function(){ alert(num); } })(numArray[i]); fnArray.push(func); } return fnArray; } var numArr = [1, 2, 3, 4, 5]; var funcArr = toChange(numArr); funcArr[2]();
-
给object数组进行排序(排序条件是每个元素对象的属性个数)
// 给object数组进行排序(排序条件是每个元素对象的属性个数) function rule(o1, o2){ var sizeObj = function(o){ var size = 0; for(var p in o){ if(o.hasOwnProperty(p)){ ++size; } } return size; } return sizeObj(o1) - sizeObj(o2); } var objArr = [ {x: 1, y: 2, z: 3}, {x: 1, y: 2}, {x: 1} ]; objArr.sort(rule); console.log(objArr);
-
利用JavaScript打印出Fibonacci数(不使用全局变量)
// 利用JavaScript打印出Fibonacci数(不使用全局变量) function fibNum(count){ var fibArray = new Array(); if(count <= 2){ for(var i = 0; i < count; ++i){ fibArray.push(i); } } else{ fibArray.push(0); fibArray.push(1); for(var i = 2; i < count; ++i){ var nextNum = fibArray[i-1] + fibArray[i-2]; fibArray.push( nextNum ); } } return fibArray; } console.log(fibNum(10));
-
实现如下语法的功能:var a = (5).plus(3).minus(6);
// 实现如下语法的功能:var a = (5).plus(3).minus(6); Number.prototype.plus = function(i){ return this + i; } Number.prototype.minus = function(i){ return this - i; } var a = (5).plus(3).minus(6); console.log(a);
-
实现如下语法的功能:var a = add(2)(3)(4);
// 实现如下语法的功能:var a = add(2)(3)(4); function add(x) { var ret = x, fn = function(x){ ret += x; return fn; }; fn.toString = fn.valueOf = function(){ return ret; }; return fn; } var a = add(2)(3)(4); console.log(a);
浙公网安备 33010602011771号