js 屬性和方法(私有 公有)

2021-09-01 12:13:08 字數 2008 閱讀 9452

function myfun1()

//這是例項屬性

this.publicvar = "這是例項屬性";

this.public1 = function()

}var newfun1 = new myfun1();

newfun1.public1(); //這是私有屬性

alert(newfun1.publicvar);//這是例項屬性

alert(newfun1.private1); // undefined newfun1.privatemethod(); //執行錯誤

function myfun2()

myfun2.staticvar = "這是靜態屬性";

myfun2.staticmethod = function()

var newfun2 = new myfun2();

執行錯誤;

alert(newfun2.staticvar);//undefined

//靜態私有成員

var myfun3 = (function()

privateproperty.staticvar = "這是靜態私有成員";

privateproperty.staticmethod = function()

privateproperty.staticmethod();

return privateproperty

})();

//靜態類

var funcount = 0;

var myfun4 = new function()

}myfun4.printcount(); //輸出1;

myfun4.printcount(); //輸出1;

myfun4.prototype.amethod = function()//執行錯誤

var newfun4 = new myfun4();

newfun4.amethod();

//執行錯誤,說明myfun3建立並例項化之後就不能再為它新增方法,屬性

new myfun3.constructor().printcount();//如果你確實想例項化,這樣也可以.

//原型繼承

var myfun5 = function()

myfun5.prototype.myfun5_extend = function()

var myfun5_sub = function()

myfun5_sub.prototype = new myfun5();

var newfun5 = new myfun5_sub();

newfun5.myfun5_extend(); //這是原型繼承的

//呼叫繼承

var myfun6 = function()

}var myfun6_sub = function()

var newfun6 = new myfun6_sub();

newfun6.method_p();//這是呼叫繼承的

//覆蓋

var myfun7 = function()

}var myfun7_sub = function()

}myfun7_sub.prototype = new myfun7();

var newfun7 = new myfun7_sub();

newfun7.method(); //這是子物件方法,父物件方法被覆蓋了.

//多型

function myfun8(a, b) else if (typeof a == "string" && typeof b == "string") else

}myfun8(3, 4); // 輸出12;

myfun8("hi,", "你好");//輸出hi,你好;

myfun8("hi", 5);//輸入錯啦

**the end**

js 物件導向 公有 私有 靜態屬性和特權方法

js要了解js物件導向,就必需先了解js中什麼是公有方法 特權方法 靜態方法 方法 步驟 1.公有屬性和公有方法 function user name,age user.prototype.getname function var user new user fire子海 26 console.lo...

js物件導向之公有 私有 靜態屬性

示例 function 1.公有屬性和公有方法 function user name,age user.prototype.getname function var user newuser fire子海 26 console.log user.getname output fire子海 2.私有屬...

Swift 帶有私有設定方法的公有屬性

swift 可以很方便地建立帶有私有設定方法的公有屬性。這可以讓你的 更加安全和簡潔。封裝從根本上意味著類的資訊和狀態應該對外部類隱藏,只有類自身可以操作。因此,所有的 bug 和 邏輯錯誤更加不可能發生了。通常你會使用setter以及getter來達到封裝的目的。然而,有時候你根本不想對外提供類中...