javascript中this的指向问题

   name = "77";

    var obj = {

      name: "88",

      getName: function () {

        return this.name;

      } 

    };

    (obj.getName = obj.getName)();  //返回 77

    

    

高级程序设计183页解释说:因为这个赋值表达式的值是函数本身,所以this的值不能得到维持,结果就返回了全局变量。 不是很能理解,希望大神再给讲解一下

www说
浏览 542回答 1
1回答

慕姐4208626

这么理解,首先obj.getName = obj.getName,这个返回的是obj.getName对应的值,也就是内存里的那个函数,于是就可以将obj.getName = obj.getName视作全局函数。需要理解的是变量赋值的过程啊!关于作用域关于赋值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript