首页 新闻 搜索 专区 学院

大家帮我看看这两个结果是什么 为什么?

0
[待解决问题]
<script>
        var name="window object";
        var object={
            name:"my object",
            getName:function(){
                console.log(this.name);
            }
        }
        object.getName(); 
        (object.getName=object.getName)();
    </script>
吕瑞芳的主页 吕瑞芳 | 菜鸟二级 | 园豆:202
提问于:2017-07-31 09:47
< >
分享
所有回答(1)
0

my object  (this指向当前调用的对象)

window object (object.getName赋值给object.getName,然后自调,指向全局)

mini_fan | 园豆:301 (菜鸟二级) | 2017-07-31 11:02

为什么我把前面那个object.getName()这个函数的调用去掉,(object.getName=object.getName)();就会报错,提示Uncaught TypeError: Cannot read property 'getName' of undefined

支持(0) 反对(0) 吕瑞芳 | 园豆:202 (菜鸟二级) | 2017-07-31 16:36

@吕瑞芳: 因为;的问题,你在var object={}后加;
具体原因,可参考文章http://www.cnblogs.com/daysme/p/6440012.html

支持(0) 反对(0) mini_fan | 园豆:301 (菜鸟二级) | 2017-08-01 09:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册