// call函数原理解析 const obj = { a:1, b:2 } function add (c, d) { return this.a + this.b + c + d; } add.call(obj); // 实际上运行效果可以理解为: // 在对象obj上新增一个add属性,并在对象上调用该属性 // 调用结束后,删除该属性即可 obj.add = function() { } obj.add(c, d); delete obj.add; const o = { a: 1, b: 2, add: function(c, d) { return this.a + this.b + c + d; } }