公有方法: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.特权方法是可以在类的外部被调用的,
2.但是它可以访问类的私有属性,并且也是可以访问类的公有属性,可以勉强的认为它是一种特殊的公有方法。
3.但是它与上面的公有方法的声明与定义方式不同。特权方法必须在类的内部声明定义。
function t1()
{
var temp=39483984934; // 私有变量
function private()
{
console.log("private");
}
this.test=function()
{
private();
console.log(temp);
}
}
tt=new t1();
tt.test();