为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 函数绑定问题

javascript 函数绑定问题

浮云间 2018-10-10 13:10:49
废话不多说,上代码:    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。求解释
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

https://img1.sycdn.imooc.com//5befd3410001caab07430161.jpg

此处使用闭包返回一个函数,要想有输出需要返回的这个函数要return得到的结果

查看完整回答
反对 回复 2018-11-17
  • 1 回答
  • 0 关注
  • 454 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信