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

首頁 > 編程 > ASP > 正文

初學js者對javascript面向對象的認識分析

2024-05-04 11:00:19
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:
var obj = document.getElementById("name");
function clickMe() {
alert(this.value);
this.value += "!!!!";
alert(this.value);
}
var ActionBinder = function() {//定義一個類
}
ActionBinder.prototype.registerDOM = function(doms) {
this.doms = doms;//注冊doms
}
ActionBinder.prototype.registerAction = function(handlers) {
this.handlers = handlers;//注冊一個動作
}
ActionBinder.prototype.bind = function() {
this.doms.onclick = this.handlers
}//注冊doms的動作
var binder = new ActionBinder();//按照ActionBinder的方法新建一個類
binder.registerDOM(obj);
binder.registerAction(clickMe);
binder.bind();

先上一段用js寫的面向對象的代碼,先建立一個ActionBinder的類,寫法上也類似于java;因為js是基于html的dom對象來操作html的內容,在類中定義一個注冊dom的方法registerDOM,用prototype將該方法原型化,方便調用;另外再增加一個注冊事件的方法registerAction,也用prototype方法原型化;最后再用一個原型化的動作bind將已注冊的dom和已注冊的事件綁定在了一起,并執行。
再上一段原始的js代碼片段:
Code
復制代碼 代碼如下:
<body>
<script>
document.onload= function(){
var obj = document.getElementById("name");
obj.onclick = function(){alert(this.value);}
}
</script>
<input type="text" id="name" />
</body>

代碼也實現了要的效果,對于一些簡單的應用,上面那段效果能夠滿足,但對于比較復雜的一些程序,應用起來就比較麻煩,代碼上寫起來也較繁瑣;如代碼片段
Code
復制代碼 代碼如下:
<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
復制代碼 代碼如下:
<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>

當然上面兩段代碼也有其他一些更簡單的寫法,總的來說還是出現很多冗余的代碼。
用面向對象的方法寫就比較靈活,如
Code
復制代碼 代碼如下:
<body>
<script>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳普湖县| 二连浩特市| 蛟河市| 讷河市| 正镶白旗| 南充市| 宁阳县| 文昌市| 老河口市| 辰溪县| 光泽县| 廊坊市| 嵊州市| 宜兴市| 和静县| 五寨县| 绥德县| 潮安县| 新民市| 和政县| 金溪县| 曲靖市| 凤城市| 永胜县| 额敏县| 乾安县| SHOW| 来宾市| 泽普县| 邵阳市| 泸州市| 苍南县| 合肥市| 葫芦岛市| 长宁区| 东乌珠穆沁旗| 隆子县| 德钦县| 顺昌县| 洛浦县| 修文县|