私有,公有,特权方法


公有方法:this.X , this.prototype.Y

1.公有方法是可以在类的外部被调用的,
2.但是它不可以访问类的私有属性。
3.公有方法必须在类的内部或者外部通过类的prototype属性添加。

function myClass () {
this.public_attribute = 100;
this.prototype.public_method = function () {
console.log("loggggg"); }
}
myClass.prototype.public_attribute2 = 666;
myClass.prototype.public_method2 = function () { } 

实例对象才会初始化,要不然就是undefined:


私有,公有,特权方法_第1张图片
图片.png

特权方法:

1.特权方法是可以在类的外部被调用的,
2.但是它可以访问类的私有属性,并且也是可以访问类的公有属性,可以勉强的认为它是一种特殊的公有方法。
3.但是它与上面的公有方法的声明与定义方式不同。特权方法必须在类的内部声明定义。

function t1()
{
  var temp=39483984934;        // 私有变量
  function private()
  {
    console.log("private");
  }
  this.test=function()
  {
    private();
    console.log(temp);
  }
}
tt=new t1();
tt.test();
私有,公有,特权方法_第2张图片
图片.png

你可能感兴趣的:(私有,公有,特权方法)