这样的事情,但没有使用__proto__
:
var o = {
i :2
};
var f1 = function(){
alert(f1.i);
}
f1.__proto__ = o;
o.i = 3;
f1(); //3
这个问题在这里没有答案:How to set the prototype of a JavaScript object that has already been instantiated?
答案 0 :(得分:0)
一种方法是使用bind API。所以你的Javascript看起来像这样
var o = {i :2};
var f1 = function(){ alert(this.i); }.bind(o)
o.i = 3;
f1(); //3