亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

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

2024-05-04 11:08:46
字體:
來源:轉載
供稿:網友
初學js者對javascript面向對象的認識分析,需要學習的朋友可以參考下。
 
 
 
復制代碼代碼如下:

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> 
window.onload = function() { 
var objs = document.getElementsByTagName("input"); 
function clickMe() { 
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的動作 
for (var i=0;i<objs.length;i++ ){ 
var binder = new ActionBinder();//按照ActionBinder的方法新建一個類 
binder.registerDOM(objs[i]); 
binder.registerAction(clickMe); 
binder.bind(); 
}; 

</script> 
<input type="text" id="name" value="111"/> 
<input type="text" id="name1" value="222"/> 
<input type="text" id="name2" value="333"/> 
</body> 

這樣就不會有冗余的代碼,而且js邏輯上也比較清爽,對于多個事件的綁定還有待研究。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
美女av一区二区| 2019精品视频| 久久综合伊人77777| 日韩亚洲欧美成人| 欧美综合一区第一页| 欧美xxxx做受欧美| 久久久久久久国产精品视频| 欧美高清性猛交| 日韩成人高清在线| 日韩中文字幕视频在线观看| 亚洲人av在线影院| 色综合91久久精品中文字幕| 色老头一区二区三区| 久久久99免费视频| 动漫精品一区二区| 亚洲一二在线观看| 久久夜色精品国产欧美乱| 九色精品美女在线| 国产精品第8页| 成人精品久久久| 久久久女人电视剧免费播放下载| 日韩av电影免费观看高清| 成人网址在线观看| 国产精品国产三级国产专播精品人| 日韩高清电影免费观看完整版| 欧美性色视频在线| 日本一区二区在线免费播放| 成人免费黄色网| 久久人人看视频| 啊v视频在线一区二区三区| 98视频在线噜噜噜国产| 国产视频精品久久久| 国产精品视频午夜| 久久久久久91香蕉国产| 福利微拍一区二区| 中文字幕精品在线| 久久综合网hezyo| 亚洲人成电影网站色…| 尤物99国产成人精品视频| 久久九九有精品国产23| 午夜欧美大片免费观看| 国产精品第一视频| 奇米四色中文综合久久| 夜夜嗨av一区二区三区四区| 国产欧美日韩免费| 色偷偷偷亚洲综合网另类| 7777精品久久久久久| 日韩一二三在线视频播| 91久久中文字幕| 国产主播精品在线| 欧美www视频在线观看| 国产mv免费观看入口亚洲| 日韩久久精品成人| 欧美视频国产精品| 久久精品国产69国产精品亚洲| 18一19gay欧美视频网站| 国产精品入口免费视| 国产精品在线看| 国产精品一区二区av影院萌芽| 欧洲成人免费视频| 日韩精品免费电影| 91精品国产777在线观看| 在线色欧美三级视频| 欧美美女18p| 一区二区三区视频在线| 欧美最猛性xxxxx亚洲精品| 久久久久久久一| 国产91网红主播在线观看| 青青久久av北条麻妃海外网| 日韩中文字幕视频在线| 日本久久久久久久| 97精品国产aⅴ7777| 亚洲激情久久久| 欧美综合一区第一页| 日韩国产中文字幕| 国产精品自产拍在线观| 欧美韩国理论所午夜片917电影| 国产精品一区二区三区毛片淫片| 亚洲精品自拍视频| 亚洲大胆人体av| 成人性生交大片免费观看嘿嘿视频| 日韩成人中文字幕| 成人网在线免费看| 亚洲欧美一区二区三区情侣bbw| 91高潮在线观看| 欧美日韩成人在线观看| 亚洲图片在线综合| 中文字幕久久久| 日韩av在线免播放器| 亚洲第一色中文字幕| 国产精品视频网| 国产乱肥老妇国产一区二| 亚洲 日韩 国产第一| 菠萝蜜影院一区二区免费| 久久不射热爱视频精品| 亚洲自拍偷拍色图| 自拍偷拍亚洲精品| 国产欧美 在线欧美| 久久久久久av| 亚洲欧洲激情在线| 国产精品久久久久久搜索| 国产精品69精品一区二区三区| 欧美激情精品久久久久久黑人| 亚洲精品在线91| 日日狠狠久久偷偷四色综合免费| 91福利视频在线观看| 国产剧情日韩欧美| 最新日韩中文字幕| 欧美成人精品h版在线观看| 久久久91精品国产| 26uuu另类亚洲欧美日本老年| 日本高清+成人网在线观看| 日韩在线观看高清| 亚洲午夜av久久乱码| 国产亚洲精品高潮| 一本色道久久88综合日韩精品| 国产精品美女久久| 91久久久久久久久久久久久| 国产色综合天天综合网| 亚洲精品av在线播放| 亚洲精品福利资源站| 国产精品女人网站| 国产日韩一区在线| 不卡中文字幕av| 欧美日韩一二三四五区| 国产视频精品久久久| 欧美激情视频一区二区三区不卡| 欧美大成色www永久网站婷| 亚洲大胆人体视频| 亚洲欧美成人在线| 日本免费在线精品| 亚洲精品电影在线观看| 韩日欧美一区二区| 日韩精品中文字幕在线播放| 国产成人福利网站| 日韩av电影中文字幕| 97avcom| 日韩精品久久久久久福利| 欧美激情精品久久久久久蜜臀| 日韩三级成人av网| 精品久久久久人成| 日本高清视频精品| 亚洲欧美日韩爽爽影院| 国产精品日日摸夜夜添夜夜av| 亚洲乱码一区av黑人高潮| 亚洲欧美在线播放| 国产精品女视频| 国产精品一区二区av影院萌芽| 亚洲欧美在线免费观看| 亚洲福利影片在线| 美女少妇精品视频| 日韩激情在线视频| 最新69国产成人精品视频免费| 91成人免费观看网站| 亚洲国产日韩欧美综合久久| 日韩精品免费在线视频| 北条麻妃在线一区二区| 日韩av综合网| 亚洲精品久久久一区二区三区| 岛国av在线不卡| 亚洲精品日韩在线| 亚洲人av在线影院| 日韩av免费看| 成人黄色网免费|