废话不多说,上代码:
Function.prototype.bind = function(context) {
var self = this;
return function() {
self.apply(context, arguments);
};
};
var Animal = {
name: 'Cat',
getName: function() {
//console.log(this.name);
return this.name;
}
};
var Animal2 = {
name: 'Dog'
};
var dog = Animal.getName.bind(Animal2)()
console.log(dog) //undefined
问题来了,为啥输出不是Dog而是undefined。
但是 如果把getName中的return 替换成 console.log(this.name),便可输出Dog。
求解释
眼眸繁星
相关分类