废话不多说,上代码: 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。求解释
添加回答
举报
0/150
提交
取消