国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript的public、private和privileged模式

2024-05-06 14:12:10
字體:
供稿:網(wǎng)友
Summary
私有變量 在對象內(nèi)部使用'var'關(guān)鍵字來聲明,而且它只能被私有函數(shù)和特權(quán)方法訪問。
私有函數(shù) 在對象的構(gòu)造函數(shù)里聲明(或者是通過var functionName=function(){...}來定義),它能被特權(quán)函數(shù)調(diào)用(包括對象的構(gòu)造函數(shù))和私有函數(shù)調(diào)用。
特權(quán)方法 通過this.methodName=function(){...}來聲明而且可能被對象外部的代碼調(diào)用。它可以使用:this.特權(quán)函數(shù)() 方式來調(diào)用特權(quán)函數(shù),使用 :私有函數(shù)()方式來調(diào)用私有函數(shù)。
公共屬性 通過this.variableName來定義而且在對象外部是可以讀寫的。不能被私有函數(shù)所調(diào)用。
公共方法 通過ClassName.prototype.methodName=function(){...}來定義而且可以從對象外部來調(diào)用。
原型屬性 通過ClassName.prototype.propertyName=someValue來定義。
靜態(tài)屬性 通過ClassName.propertyName=someValue來定義。
另外注意下這種寫法: var 函數(shù)名=function 函數(shù)名(){...} 這個函數(shù)被調(diào)用時具有特權(quán)函數(shù)和私有函數(shù)的特性。
例:
代碼如下:
<html>
<head>
<title></title>
<script type="text/javascript">
function Container( param ) {
function dec(){
if ( secret > 0 ) {
secret -= 1;
setSecret( 7)
alert( secret );
return true;
}
else {
// alert( "over"+this.member);
return false;
}
}
// this.dec = dec;
//this.dec = function dec (){...} different from above code.
function setSecret( num ){
secret = num;
}
this.member = param;
var secret = 3;
var self = this;
this.service = function () {
if (dec()) {
alert();
}
else {
return null;
}
}
}
// ---------------------------------------
function start(){
alert( "Start" )
var test = new Container( 'liuqi' );
// test.setSecret( 2 );
test.service();
test.service();
test.service();
test.service();
var test2 = new Container( 'liuqi' );
//test2.service();
// Container.dec();
}
</script>
</head>
<body>
<div onclick="start()" style="color:blue">click me</div>
</body>
</html>

JavaScript是世界上最被誤解的編程語言。有人認(rèn)為它缺少信息隱藏的特性,因?yàn)镴avaScript對象不能擁有私有變量的方法。
但是這是個誤解。JavaScript對象可以擁有私有成員。
對象
JavaScript從根本上就是關(guān)于對象的。數(shù)組是對象,方法是對象,Object也是對象。什么是對象?對象就是鍵值對的集合。鍵是字符串,
值可以是字符串,數(shù)字,布爾和對象(包括數(shù)組和方法)。對象通常被實(shí)現(xiàn)為Hashtable,這樣值就可以被快速獲取。
如果值是一個函數(shù),我可以稱其為方法。當(dāng)對象的方法被調(diào)用時,“this”變量則被賦予該對象。方法可以通過“this”變量訪問實(shí)例
變量。
對象可以由初始化對象的方法 -- 構(gòu)造函數(shù)產(chǎn)生。構(gòu)造函數(shù)提供在其他編程語言中類提供的特性,包括靜態(tài)變量和方法。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 沁阳市| 铜陵市| 泰兴市| 汤原县| 轮台县| 扶沟县| 鸡东县| 新丰县| 涞源县| 句容市| 集安市| 南丰县| 邵阳县| 鞍山市| 洞口县| 桦南县| 房山区| 新兴县| 沂水县| 梨树县| 喀喇沁旗| 高邑县| 中方县| 深水埗区| 湖口县| 略阳县| 建平县| 南江县| 天峻县| 五峰| 建宁县| 中卫市| 竹北市| 康乐县| 桃园市| 当涂县| 邵武市| 德阳市| 灵璧县| 商丘市| 揭东县|