您的位置:首页 > 其它

几个阿里笔试题

2015-08-18 16:27 393 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: