zoukankan      html  css  js  c++  java
  • 还是this的问题

          var name = "The Window";   
      var object = {   
        name : "My Object",   
        getNameFunc : function(){   
            return this.name;   
        }   
    };   
    alert(object.getNameFunc());//My Object

    ---------------------------------------------------------------------------

          var name = "The Window";   
      var object = {   
        name : "My Object",   
        getNameFunc : function(){   
            return name;   
        }   
    };   
    alert(object.getNameFunc());//The Window

    ---------------------------------------------------------------------------

    var name = "The Window";   
      var object = {   
        name : "My Object",   
        getNameFunc : function(){   
                            return function(){

                                                    return this.name;

                                           }   
                     }   
               };   
    alert(object.getNameFunc()());//The Window

    变量和属性的区别:第一个return this.name 中 this指向的是object对象的name属性

                             第二个return name 指的是定义的name这个全局变量(首先查找的是getName()方法里面有没有name这个属性,没有就再查找全局变量中有没有name这个属性,其实就是作用域链的问题)

                             第三个是一个闭包问题(返回的是一个全局函数,这里的this指向的是window)

    其实this就是指向那个调用当前函数的对象。

                             

  • 相关阅读:
    初认识AngularJS
    (imcomplete) UVa 10127 Ones
    UVa 10061 How many zero's and how many digits?
    UVa 11728 Alternate Task
    UVa 11490 Just Another Problem
    UVa 10673 Play with Floor and Ceil
    JSON对象和字符串的收发(JS客户端用typeof()进行判断非常重要)
    HTML.ActionLink 和 Url.Action 的区别
    EASYUI TREE得到当前节点数据的GETDATA方法
    jqueery easyui tree把已选中的节点数据拼成json或者数组(非常重要)
  • 原文地址:https://www.cnblogs.com/aixiuxiu/p/6200976.html
Copyright © 2011-2022 走看看