DIV CSS 佈局教程網

Javascript面試題
編輯:關於JavaScript     

要求:
1、只能在指定的位置填寫自己的代碼,本文件裡的其他代碼不能修改
2、所有題目都不允許添加全局變量名
3、本文件應該能在firebug的console裡正常執行,並輸出結果
4、代碼最優化,效率最高
5、代碼注釋明確

練習1:
實現一個遍歷數組或對象裡所有成員的迭代器。

var each = function(obj, fn){
 
        //+++++++++++答題區域+++++++++++
 
       
 

 

        //+++++++++++答題結束+++++++++++
 
};
 

try{
 
       
 
        var data1 = [4,5,6,7,8,9,10,11,12];
 
        var data2 = {
 
                "a": 4,
 
                "b": 5,
 
                "c": 6
 
        };
 
       
 
        console.group(data1);
 
       
 
        each(data1, function(o){
 
                if( 6 == this )
 
                        return true;
 
                else if( 8 == this )
 
                        return false;
 
                console.log(o + ": \"" + this + "\"");
 
        });
 
       
 
        console.groupEnd();
 

        /*------[執行結果]------
 

        1: "4"
 
        2: "5"
 
        4: "7"
 

        ------------------*/
 
       
 
        console.group(data2);
 
       
 
        each(data2, function(v, n){
 
                if( 5 == this )
 
                        return true;
 
                console.log(n + ": \"" + v + "\"");
 
        });
 
       
 
        console.groupEnd();
 

        /*------[執行結果]------
 

        a: "4"
 
        c: "6"
 

        ------------------*/
 
       
 
}catch(e){
 
        console.error("執行出錯,錯誤信息: " + e);
 
}

練習2:
實現一個叫Man的類,包含attr, words, say三個方法。

var Man;
 
//+++++++++++答題區域+++++++++++
 

 

 

//+++++++++++答題結束+++++++++++
 

try{
 
       
 
        var me = Man({ fullname: "小紅" });
 
        var she = new Man({ fullname: "小紅" });
 
       
 
        console.group();
 
        console.info("我的名字是:" + me.attr("fullname") + "\n我的性別是:" + me.attr("gender"));
 
        console.groupEnd();
 
        /*------[執行結果]------
 

        我的名字是:小紅
 
        我的性別是:<用戶未輸入>
 

        ------------------*/
 

        me.attr("fullname", "小明");
 
        me.attr("gender", "男");
 
        me.fullname = "廢柴";
 
        me.gender = "人妖";
        she.attr("gender", "女");
 
       
 
        console.group();
 
        console.info("我的名字是:" + me.attr("fullname") + "\n我的性別是:" + me.attr("gender"));
 
        console.groupEnd();
 
        /*------[執行結果]------
 

        我的名字是:小明
 
        我的性別是:男
 

        ------------------*/
 
       
 
        console.group();
 
        console.info("我的名字是:" + she.attr("fullname") + "\n我的性別是:" + she.attr("gender"));
 
        console.groupEnd();
 
        /*------[執行結果]------
 

        我的名字是:小紅
 
        我的性別是:女
 

        ------------------*/
 

        me.attr({
 
                "words-limit": 3,
 
                "words-emote": "微笑"
 
        });
 
        me.words("我喜歡看視頻。");
 
        me.words("我們的辦公室太漂亮了。");
 
        me.words("視頻裡美女真多!");
 
        me.words("我平時都看優酷!");
 
       
 
        console.group();
 
        console.log(me.say());
 
        /*------[執行結果]------
 

        小明微笑:"我喜歡看視頻。我們的辦公室太漂亮了。視頻裡美女真多!"
 

        ------------------*/
 

        me.attr({
 
                "words-limit": 2,
 
                "words-emote": "喊"
 
        });
 

        console.log(me.say());
 
        console.groupEnd();
 
        /*------[執行結果]------
 

        小明喊:"我喜歡看視頻。我們的辦公室太漂亮了。"
 

        ------------------*/
 
       
 
}catch(e){
 
        console.error("執行出錯,錯誤信息: " + e);
 
}

練習3:
實現一個URI解析方法,把url裡#之後的參數解析成指定的數據結構。

function urlParser(s){
 
        //+++++++++++答題區域+++++++++++
 

 

               
        //+++++++++++答題結束+++++++++++
 
}
 

try{
 
        var url1 = "http://www.abc.com/m/s/#page/2/?type=latest_videos&page_size=20";
 
        var url2 = "http://www.abc.com/m/s/#type=latest_videos&page_size=20";
 
        var url3 = "http://www.abc.com/m/s/#page?type=latest_videos&page_size=20";
 

        console.group();
 
        console.info( urlParser(url1) );
 
        console.info( urlParser(url2) );
 
        console.info( urlParser(url3) );
 
        console.groupEnd();
 
        /*------[執行結果]------
 

        ["page", "2", { "type": "latest_videos", "page_size": 20 }]
 
        [{ "type": "latest_videos", "page_size": 20 }]
 
        ["page", { "type": "latest_videos", "page_size": 20 }]
 
       
 
        ------------------*/
 
       
 
}catch(e){
 
        console.error("執行出錯,錯誤信息: " + e);
 
}

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved