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

为什么这两个console.log的值不一样

为什么这两个console.log的值不一样

慕容3067478 2018-12-20 18:15:11
<script type="text/javascript">        var fullname = 'John Doe';        var obj = {            fullname: 'Colin Ihrig',            prop: {                fullname: 'Aurelio De Rosa',                getFullname: function() {                    return this.fullname;                }            }        };        var test = obj.prop.getFullname;        console.log((test)());        console.log((obj.prop.getFullname)());//        John Doe    Aurelio De Rosa
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

this指向问题,两次运行的this指向不是同一个对象

    var fullname = 'John Doe';

    var obj = {

        fullname: 'Colin Ihrig',

        prop: {

            fullname: 'Aurelio De Rosa',

            getFullname: function() {

                console.log(this);//加上这一句 看看输出的this

                return this.fullname;

            }

        }

    };

    var test = obj.prop.getFullname;

    console.log((test)());

    console.log((obj.prop.getFullname)());


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

添加回答

举报

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