标签:
1.
var data = { a : 1, b : 2, c : 3, d : 4 }; var result = Object.keys(data).filter(function(x) { return data[x] > 2; }); console.log(result); //["c","d"]
/*
解释:Object.keys()以数组的形式输出可枚举的属性名,在此题中Object.keys(data)返回["a","b","c","d"]
filter()为数组的一个迭代方法,对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身,
即:function(item, index, array)
*/
2.考察的对象的创建
function obj(name){ if (name){ return new obj(name); } } obj.prototype.name = "name2"; var a = obj("name1"); var b = new obj; console.log(a.name); //"name1" console.log(b.name); //"name2"
3.斐波那契数列
function getNthFibonacci(count) { if(count < 2) { return 1; } else { return arguments.callee(count-1) + arguments.callee(count-2); //利用arguments.callee解除函数与函数名之间的耦合 } } console.log(getNthFibonacci(0)); //1 console.log(getNthFibonacci(4)); //5
标签:
原文地址:http://www.cnblogs.com/webliu/p/4739768.html