文章预览
看到了这样一道面试题。 题目 已声明函数 fun ,问以下代码的打印结果? function fun ( n, o ) { console .log(o); return { fun: function ( m ) { return fun(m, n); } }; } var a = fun( 0 ); a.fun( 1 ); a.fun( 2 ); a.fun( 3 ); var b = fun( 0 ) .fun( 1 ) .fun( 2 ) .fun( 3 ); var c = fun( 0 ).fun( 1 ); c.fun( 2 ); c.fun( 3 ); 答案 var a = fun( 0 ); // undefined a.fun( 1 ); // 0 a.fun( 2 ); // 0 a.fun( 3 ); // 0 var b = fun( 0 ) //undefined .fun( 1 ) // 0 .fun( 2 ) // 1 .fun( 3 ); // 2 var c = fun( 0 ).fun( 1 ); // undefined 0 c.fun( 2 ); // 1 c.fun( 3 ); // 1 思考 这种问题,我他妈的一点也不想动脑子,绕来绕去的有意思吗?把简单的事情弄得仿佛很复杂,没劲。但不妨碍有些面试官喜欢拿这种题目
………………………………