JavaScript前端常见面试题总结

1、

<script type="text/javascript">
    var x = 1;
    var y = 0;
    var z = 0;
    function add(n){n=n+1;}
    y = add(x);
    function add(n){n=n+3;}
    z = add(x);
</script>

求y和z的值是多少?

答案:y和z的值都是undefined,因为没有add函数没有返回值。

2、

<div id="div1" style="display:none;">
    <div id="div2" style="width:100px;">width:100px;</div>
</div>

在jQuery1.4级以上版本,请用jQuery写出获取div2宽度的代码,以及获取到的width的值。

答案:alert("div2宽度:" + $("#div2").width());

alert("width的值:" + $("#div2").attr("style").split(":")[1]);

3、 请编写一个JavaScript函数parseQueryString,它的用途是把URL参数解析为一个对象,如:

var url = “http://www.baidu.com/index.php?key0=0&key1=1&key2=2”;

var obj = parseQueryString(url);

alert(obj.key0);  //输出0

答案:

<script type="text/javascript">
    function parseQueryString(url) {
        var pos;
        var obj = {};
        if ((pos = url.indexOf("?")) != -1) {
            var param = url.substring(pos+1, url.length-1);
            var paramArr = param.split("&");
            var keyValue = [];
            for (var i=0, l=paramArr.length; i<l; i++) {
                keyValue = paramArr[i].split("=");
                obj[keyValue[0]] = keyValue[1];
            }
        }
        return obj;
    }

    var url = "http://www.baidu.com/index.php?key0=0&key1=1&key2=2";
    var paramObj = parseQueryString(url);
    alert(paramObj.key0);
</script>

4、对应写出下列输出值

1     alert(typeof(null));
2     alert(typeof(NaN));
3     alert(typeof(undefined));
4     alert(typeof("undefined"));
5     alert(NaN==undefined);
6     alert(NaN==NaN);

答案:(1)object  (2)number  (3)undefined  (4)string  (5)false  (6)false

5、使用Javascript动态写入html页面body内一个超链接,链接地址是http://www.baidu.com,id为”goto-baidu”,要求点击是另窗口打开。

<script type="text/javascript">
    window.onload = function(){
        //获取body
        var bodyElement = document.body;

        //创建
        var linkElement = document.createElement("a");
        linkElement.setAttribute("id", "goto-baidu");
        linkElement.setAttribute("target", "_blank");
        linkElement.setAttribute("href", "http://www.baidu.com");
        var textNode = document.createTextNode("Baidu");

        //添加
        linkElement.appendChild(textNode);
        bodyElement.appendChild(linkElement);
    }  
</script>

 

posted on 2013-07-05 23:41  ysuxiaochu  阅读(239)  评论(0)    收藏  举报

导航