面向過程與面向對象比較之tab選項卡切換

<body>
    <div id="div">
        <input type="button" value="選項卡1" name="">
        <input type="button" value="選項卡2" name="">
        <input type="button" value="選項卡3" name="">
        <div>111</div>
        <div>222</div>
        <div>333</div>
    </div>
</body>
<script type="text/javascript">
    //面向過程的選項卡切換(用循環(huán)而不用每個元素設置id)
    window.onload = function(){
        var div = document.getElementById("div");
        var btn = div.getElementsByTagName("input");
        // alert(btn.length);
        var content = div.getElementsByTagName("div");
        for(var i = 0,Len = btn.length;i < Len;i++){
            // alert(btn[i]);
            //將每次加載DOM元素的onlcik事件時砰粹,把賦給btn的index屬性
            btn[i].index = i;
            // console.log(i);
            btn[i].onclick = function(){
                for(var j = 0,Len2 = content.length;j < Len2;j++){
                    content[j].style.display = "none";
                }
                content[this.index].style = "blcok";
                //此時,i=3,因為已加載完三個onclick事件,所以當點擊事件時,i=3;
                // console.log(i);
            };
        }
    };
    //面向對象寫法:組合使用構造函數模式和原型模式
    function tabSwitch(id){
        this.div = document.getElementById(id),
        this.btn = div.getElementsByTagName("input"),
        this.content = div.getElementsByTagName("div");
        tabSwitch.prototype.tab = function(){
            for(var i = 0,Len = this.btn.length;i < Len;i++){
                this.btn[i].index = i;
                //在事件中器腋,this指向執(zhí)行此事件的對象月杉,因此將原來指向新對象的this賦給_this
                _this = this;
                this.btn[i].onclick = function(){
                    for(var j = 0,Len2 = _this.content.length;j < Len2;j++){
                        _this.content[j].style.display = "none";
                        // console.log(_this);
                    }
                    _this.content[this.index].style = "block";
                }
            }
        }
        console.log(tabSwitch.prototype);//指向原型
        console.log(tabSwitch.prototype.constructor);//指向構造函數
    }
    window.onload = function(){
        var tab = new tabSwitch("div");
        tab.tab();
        console.log(tab.__proto__);//指向原型
    }
</script>

面向過程寫法簡單刃跛,但用起來不方便,面向對象寫法效率高苛萎,用起來方便

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末桨昙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子腌歉,更是在濱河造成了極大的恐慌蛙酪,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件究履,死亡現(xiàn)場離奇詭異滤否,居然都是意外死亡,警方通過查閱死者的電腦和手機最仑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門藐俺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人泥彤,你說我怎么就攤上這事欲芹。” “怎么了吟吝?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵菱父,是天一觀的道長。 經常有香客問我剑逃,道長浙宜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任蛹磺,我火速辦了婚禮粟瞬,結果婚禮上,老公的妹妹穿的比我還像新娘萤捆。我一直安慰自己裙品,他們只是感情好,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布俗或。 她就那樣靜靜地躺著市怎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辛慰。 梳的紋絲不亂的頭發(fā)上区匠,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機與錄音帅腌,去河邊找鬼驰弄。 笑死蝠筑,一個胖子當著我的面吹牛,可吹牛的內容都是我干的揩懒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼挽封,長吁一口氣:“原來是場噩夢啊……” “哼已球!你這毒婦竟也來了?” 一聲冷哼從身側響起辅愿,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤智亮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后点待,有當地人在樹林里發(fā)現(xiàn)了一具尸體阔蛉,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年癞埠,在試婚紗的時候發(fā)現(xiàn)自己被綠了状原。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡苗踪,死狀恐怖颠区,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情通铲,我是刑警寧澤毕莱,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站颅夺,受9級特大地震影響朋截,放射性物質發(fā)生泄漏。R本人自食惡果不足惜吧黄,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一部服、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧稚字,春花似錦饲宿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至昌讲,卻和暖如春国夜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背短绸。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工车吹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留筹裕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓窄驹,卻偏偏與公主長得像朝卒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子乐埠,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,727評論 25 707
  • 認識你是在十七歲抗斤,高三的實驗班。你總是瞇著眼哈哈大笑丈咐,走路帶風瑞眼。你不算漂亮(你可以表示反對),但絕對是很耀眼...
    尛尛七閱讀 388評論 2 3
  • -Xmn12800m:設置新生代空間初始值棵逊、最小值及最大值為12800m-Xms16g:設置jvm初始分配堆內存大...
    滄行閱讀 1,409評論 0 1
  • 跑步13圈 早上體重113.9 今天一覺睡醒已快七點伤疙,收拾完跟三個室友去吃早餐,我決定吃一頓很豐富的早餐辆影,非常滿足...
    芳華里閱讀 146評論 0 0
  • ——2007年6月23日《南方都市報》 佛珠 刪除原因:以前信佛可能就是去燒燒香徒像、拜拜佛,然后碰到初一十五吃個齋蛙讥,...
    hugh_diary閱讀 722評論 0 1