var myNumber = { value: 1, add: function(i){ var helper = function(i){ console.log(this); this.value += i; } helper(i); } } myNumber.add(1);
代码中打印的this是个什么对象?
这段代码能否实现使myNumber.value加1的功能?
在不放弃helper函数的前提下,使用apply、bind或者call方法来改变this指向,具体是选择指向哪个对象?
helper.apply(myNumber);
helper.apply(this);
helper.apply(myNumber.add,[i]); 或其他????
推荐使用bind,修改好的代码如下。
一周热门 更多>