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

首頁 > 編程 > ASP > 正文

初學(xué)js者對(duì)javascript面向?qū)ο蟮恼J(rèn)識(shí)分析

2024-05-04 10:57:04
字體:
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:

var obj = document.getElementById("name");
function clickMe() {
alert(this.value);
this.value += "!!!!";
alert(this.value);
}
var ActionBinder = function() {//定義一個(gè)類
}
ActionBinder.prototype.registerDOM = function(doms) {
this.doms = doms;//注冊(cè)doms
}
ActionBinder.prototype.registerAction = function(handlers) {
this.handlers = handlers;//注冊(cè)一個(gè)動(dòng)作
}
ActionBinder.prototype.bind = function() {
this.doms.onclick = this.handlers
}//注冊(cè)doms的動(dòng)作
var binder = new ActionBinder();//按照ActionBinder的方法新建一個(gè)類
binder.registerDOM(obj);
binder.registerAction(clickMe);
binder.bind();

先上一段用js寫的面向?qū)ο蟮拇a,先建立一個(gè)ActionBinder的類,寫法上也類似于java;因?yàn)閖s是基于html的dom對(duì)象來操作html的內(nèi)容,在類中定義一個(gè)注冊(cè)dom的方法registerDOM,用prototype將該方法原型化,方便調(diào)用;另外再增加一個(gè)注冊(cè)事件的方法registerAction,也用prototype方法原型化;最后再用一個(gè)原型化的動(dòng)作bind將已注冊(cè)的dom和已注冊(cè)的事件綁定在了一起,并執(zhí)行。
再上一段原始的js代碼片段:
Code
復(fù)制代碼 代碼如下:

<body>
<script>
document.onload= function(){
var obj = document.getElementById("name");
obj.onclick = function(){alert(this.value);}
}
</script>
<input type="text" id="name" />
</body>

代碼也實(shí)現(xiàn)了要的效果,對(duì)于一些簡(jiǎn)單的應(yīng)用,上面那段效果能夠滿足,但對(duì)于比較復(fù)雜的一些程序,應(yīng)用起來就比較麻煩,代碼上寫起來也較繁瑣;如代碼片段
Code
復(fù)制代碼 代碼如下:

<body>
<script>
document.onload= function(){
obj1 = document.getElementById("name1");
obj2 = document.getElementById("name2");
obj3 = document.getElementById("name3");
obj1.onclick = function(){alert(this.value);}
obj2.onclick = function(){alert(this.value);}
obj3.onclick = function(){alert(this.value);}
}
</script>
<input type="text" id="name1" value="111" />
<input type="text" id="name2" value="222" />
<input type="text" id="name3" value="333" />
</body>

或者
Code
復(fù)制代碼 代碼如下:

<body>
<script>
function clickMe(){alert(this.value);}
</script>
<input type="text" id="name1" value="111" onclick="return clickMe()" />
<input type="text" id="name2" value="222" onclick="return clickMe()" />
<input type="text" id="name3" value="333" onclick="return clickMe()" />
</body>

當(dāng)然上面兩段代碼也有其他一些更簡(jiǎn)單的寫法,總的來說還是出現(xiàn)很多冗余的代碼。
用面向?qū)ο蟮姆椒▽懢捅容^靈活,如
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 休宁县| 红原县| 三台县| 阜宁县| 漳平市| 财经| 瓮安县| 和平区| 云和县| 沾化县| 始兴县| 洞口县| 庆云县| 梅河口市| 兰溪市| 耒阳市| 寿阳县| 虎林市| 固原市| 象州县| 临武县| 体育| 沙田区| 鞍山市| 舞钢市| 新田县| 赤壁市| 水城县| 涡阳县| 海伦市| 富平县| 福贡县| 百色市| 肥东县| 新津县| 夏河县| 台东市| 银川市| 叶城县| 桃园市| 柏乡县|