- 找出数字数组中最大的元素(使用Match.max函数)
- 转化一个数字数组为function数组(每个function都弹出相应的数字)
- 给object数组进行排序(排序条件是每个元素对象的属性个数)
- 利用JavaScript打印出Fibonacci数(不使用全局变量)
- 实现如下语法的功能:var a = (5).plus(3).minus(6); //2
- 实现如下语法的功能:var a = add(2)(3)(4); //9
1,
Math.max.apply(Math, [1, 2, 3])
2,
var a = [1, 2, 3, 4];
for (var i = 0, len = a.length; i < len; ++i) {
a[i] = function(m) {
return function() {
alert(m);
}
}(i)
}
3,
var createCompare = function() {
return function(obj1, obj2) {
return getObjLen(obj1) - getObjLen(obj2);
}
}
function getObjLen(obj) {
var count = 0;
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
count++;
}
}
return count;
}
4,
var createRec = function(callBack, cache) {
cache = cache || {};
var recur = function(n) {
if (!(n in cache)) {
cache[n] = callBack(recur, n);
}
return cache[n];
}
return recur;
}
var fib = createRec(function(cal, n) {
return cal(n - 1) + cal(n - 2);
}, {'0' : 1, '1' : 1});
5,
if (!Number.prototype.plus) {
Number.prototype.plus = function(n) {
return this + n;
}
}
if (!Number.prototype.minus) {
Number.prototype.minus = function(n) {
return this - n;
}
}
6,
var add = function(n) {
function temp(m) {
n += m;
return temp;
}
temp.valueOf = function() {
return n;
}
return temp;
}