WEB开发网
开发学院网页设计JavaScript javascript”面向对象编程” – 4 function也是”... 阅读

javascript”面向对象编程” – 4 function也是”类”

 2009-09-19 00:00:00 来源:WEB开发网   
核心提示: functionLady(){varage=30;varname="菜花";varthink=function(){alert("其实我今年"+age+"岁,");};functionfancy(){alert("幻想变成20

    function Lady() {
      var age = 30;
      var name = "菜花";
 
      var think = function() {
        alert("其实我今年" + age + "岁。");
      };

      function fancy(){
        alert("幻想变成20岁。");
      };
 
      this.Introduce = function() {
        alert("我叫" + name + " , 今年20岁。");
      };
    };
 
    var younglady = new Lady();
    alert(younglady.age);//结果undefined
    younglady.think(); //不支持
    younglady.fancy(); //不支持

上面是一个Lady类,age、think、fancy都是私有成员,think和fancy方法可以访问age和name,think和fancy两个方法也可以互相进行调用。但它们是私有的,所以创建出来的youngLady对象并不能调用到age、think和fancy,当然也不能调用到 name。如果私有成员只能互相之间调用,其实也就失去了私有成员存在的意义。javascript提供特权成员可以建立外界和私有成员互通的桥梁。特权成员是公共成员的一种,公共成员有普通公共成员、特权成员和对象公共成员。

特权成员就是在类中用this.XX的方式建立的成员,它们可以通过对象来被调用,它们也可以访问私有成员,可以建立私有成员被访问的通道。

    function Lady() {
      var age = 30;
      this.Name = "菜花";
 
      var think = function() {
        alert("其实我今年" + age + "岁。");
      };
 
      function fancy() {
        alert("幻想变成20岁。");
      };
 
      this.Introduce = function() {
        alert("我叫" + this.Name + " , 今年" + age + "岁。");
      };
    };
 
    var younglady = new Lady();
    younglady.Introduce(); //Introduce

编缉推荐阅读以下文章

  • javascript”面向对象编程”- 3 function是方法(函数)
  • javascript”面向对象编程”- 2聊聊对象的事
  • javascript”面向对象编程”- 1万物皆对象
  • Javascript中的面向对象编程实例

Tags:javascript 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接