怒刷web前端笔试面试题(二)

1.数组去重, 原型扩展, 两种方法

Array.prototype.unqie = function(){ 
 var arr = this, len=this.length, obj={}, newArr=[];   
 while(--len>=0){ 
 if(obj[ arr[len] ] !== arr[len]){ 
   obj[arr[len]] = arr[len];   //数组值作为对象属性,达到去重的目的
   newArr.push( arr[len]); 
  }  
} 
return newArr; 
}
var arr1=[1,1,1,44,2,555,44,2,6];
alert(arr1);
alert(arr1.unqie());

2.图片, 内容延时加载

绑定scroll事件 滚动条到达底部时 解除scroll事件 ajax加载数据 如果数据没全部载入 再次绑定scroll事件 

$(document).ready(function() {
            $(window).bind("scroll", GetData);
            function GetData() {     
                var windowHeight = $(window).height();
                var scrollHeight = $(document).scrollTop();
                var screenBottom = windowHeight + scrollHeight;
                var documentHeight = $(document).height();
                if (screenBottom >= documentHeight) {
                    $(window).unbind();
                    $.ajax({
                        type: "post",
                        url: "GetData.aspx",
                        data: "action=data",
                        success: function(data) {
                            data = eval("(" + data + ")");
                            if (data.ret = 1) {
                                var html = "";
                                for (var i = 0; i < 12; i++) {
                                    html += '<div style=" border:1px solid; width:198px; float:left; height:200px" >' + i + '</div>';
                                }
                                $("#div_main").append(html);
                                $(window).bind("scroll", GetData);
                            }
                        }
                    })

                }
            }
        });

3.如何在ie下模拟DOMContentLoad 事件

一般是两种方法。

  • 一种是创建空script标签,属性拥有defer,然后待onreadystatechange为complete时激发DOMContentLoaded

  • 一种是通过调用doScroll('left')的原理去判断DOMContentLoaded
    http://www.never-online.net/blog/article.asp?id=230

4.js中的defer属性


5.实现全文单词首字母大写

var strPage="A computer generally means a programmable machine. The two principal characteristics of a computer are: it responds to a specific set of instructions in a well-defined manner and it can execute a prerecorded list of instructions (a program).";
var strArray=strPage.split(/[\s]/);
for(var i=0;i<strArray.length;i++){
  strArray[i]=strArray[i].replace(strArray[i].charAt(0),strArray[i].charAt(0).toUpperCase());
}
alert(strArray.join(" "));

6.新闻ul列表,动态插入li,获取index

<!DOCTYPE html>
<html>
<head>
    <title>新闻ul列表,插入3个li,获取index</title>
    <meta charset='utf-8'>
</head>
<body>
<ul id="ulList">
    <li>a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li>
    <li>e</li>
</ul>
<input type="button" id="addLi" value="添加li">
<script type="text/javascript">
var a=document.getElementById('ulList');
(function(){
    document.getElementById("addLi").addEventListener('click',function(){
    a.innerHTML+="<li>1</li>";
    var b=a.getElementsByTagName('li');
for(var i=0;i<b.length;i++){
    b[i].addEventListener('click',function(e){
    var c = e.target;
    alert(c.innerHTML);
},false);
}
    },false);
})();
</script>
</body>
</html>



7.BOM浏览器信息

8.页面流量
9.堆栈








你可能感兴趣的:(怒刷web前端笔试面试题(二))