首页 新闻 会员 周边

求解各大公司javascript面试题

0
悬赏园豆:15 [待解决问题]

群里发了一个各大公司的javascript面试题,处看一下,准备学习下一一攻破哈哈,所以请问有木有大牛能解答出各题呢,好学习下。

地址:http://www.w3cfuns.com/thread-5592338-1-1.html

呦菜的主页 呦菜 | 初学一级 | 园豆:2
提问于:2012-03-27 17:41
< >
分享
所有回答(2)
0

实现一个遍历数组或对象里所有成员的迭代器这一题写了一下,跟这个页面(http://www.w3cfuns.com/thread-2264-1-1.html)的Explorer_wik写的差不多:

var each = function(obj, fn){
//+++++++++++答题区域+++++++++++
if(obj instanceof Array){
for(var i=0;i<obj.length;i++){
var temp=fn.call(obj[i],i+1);
if(temp===false){
break;
}
}
}
else{
if(!obj instanceof Object){
return false;
}
for(var e in obj){
fn.call(obj[e],obj[e],e);
}
}
//+++++++++++答题结束+++++++++++
};

try{

var data1 = [4,5,6,7,8,9,10,11,12];
var data2 = {
"a": 4,
"b": 5,
"c": 6
};

console.group(data1);

each(data1, function(o){
if( 6 == this )
return true;
else if( 8 == this )
return false;
console.log(o + ": \"" + this + "\"");
});

console.groupEnd();

/*------[执行结果]------

1: "4"
2: "5"
4: "7"

------------------
*/

console.group(data2);

each(data2, function(v, n){
if( 5 == this )
return true;
console.log(n + ": \"" + v + "\"");
});

console.groupEnd();

/*------[执行结果]------

a: "4"
c: "6"

------------------
*/

}catch(e){
console.error("执行出错,错误信息: " + e);
}

在线运行:http://jscode.chinacxy.com/code/10c3b669616dcbeafb14d8426e29e967.aspx

artwl | 园豆:16736 (专家六级) | 2012-03-27 18:42
0

学习。。。

KivenRo | 园豆:1734 (小虾三级) | 2012-03-28 09:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册