前端笔试编程题 - yulilong/resume GitHub Wiki

下面的程序输出结果

function fun(n, o) {
  console.log(0)
  return {
    fun: function(m) { return fun(m,n) }
  }
}
var a = fun(0);		// 0
a.fun(1);			// 0
a.fun(2);			// 0
a.fun(3);			// 0

var b = fun(0).fun(1).fun(2).fun(3);// 0 0 0 0

var c = fun(0).fun(1);  // 0 0
c.fun(2);				// 0
c.fun(4);				// 0
var num = 10;
var obj = {
  num: 8,
  inner: {
    num: 6,
    print: function() { console.log(this.num); }
  }
}
num = 888;
obj.inner.print();			// 6
var fn = obj.inner.print;
fn();						// 888
(obj.inner.print)();		// 6
(obj.inner.print = obj.inner.print)(); // 888