求解JavaScript如何去执行下列代码?

来源:-

__innocence

2016-07-17 19:03

var fullname ='John Doe';

    var obj ={

    fullname:'Colin Ihrig',

    prop:{

    fullname:'Aurelio De Rosa',

    getFullname:function(){

    returnthis.fullname;

    }

    }

    };

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

    var test = obj.prop.getFullname;

    console.log(test());


写回答 关注

2回答

  • __innocence
    2016-07-25 23:28:30

    第一个输出很明显,是一层一层访问到的值调用getfullname函数,第二个,注意最后一行  console.log(test());

    test后面加了括号,表示test不是一个简单的字符串类型,可以把代码转换一下:把var test = obj.prop.getFullname;这一句换成

     getFullname:function(){

        return this.fullname;}

    很明显,这里return的是上面的var fullname ='John Doe';

    一句话,test不是以obj为原型的


  • __innocence
    2016-07-25 23:20:56

    Aurelio De Rosa

    John Doe

    函数闭包问题应该

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281112 学习 · 1020 问题

查看课程

相似问题