1. 程式人生 > >有魚前端面經

有魚前端面經

一:有魚

1,設某元素id為show,如何設定其在ios中顯示,在android中不顯示

var userAgent=navigator.userAgent.toLowerCase();
var platform;
if(/android/.test(userAgent)){
	platform="android";
	document.getElementById("show").style.display="none";
}else if(/ios/.test(userAgent)){
	platform="ios";
	document.getElementById("show").style.display="block";
}

2,若陣列a=[2,1,4,3,7,6],求出a陣列最大的差值

var maxC=function(arr){
    var max=Math.max.apply("",arr);
    var min=Math.min.apply("",arr);
    var c=max-min;
    return c;
}
3,設物件obj={a:'1',b:'2'};分別將obj用cookie 和localStorage塞進去

  

存值:

var _setStorage=function(obj){
     var localStorage=window.localStorage;
     if(localStorage){
          localStorage.setItem(obj.a.obj.b);
     }else{
          var _obj=obj.a+"=" +obj.b;
          document.cookie=_obj;
     }
}

獲取:

var getCookie=function(key){
     var result={};
     var localStorage=window.localStorage;
     if(localStorage){
          return localStorage.getItem(key);
     }else{
           var cookie=document.cookie.split(";");
           cookie.forEach(function(item){
                 var pair=item.split("=");
                  result[pair[0]]=pair[1];
           });
           return result[key];
     }
}

4,如何編寫阻止冒泡,組織預設事件

方法一:
阻止冒泡:

e.stopPropogation()
組織預設事件

e.preventDefault();

方法二:

return false;

5,盒子模型box-sizing的值有哪些:

   值一:content-box:預設值,標準盒子模型,width和height只包括內容的寬和高,不包括邊框(border),內邊距(padding),外邊距(margin),注意,邊框,內邊距,外邊距都在盒子的外部,比如:

   

{
   width:350px;
   border:10px solid black;
}
那麼在瀏覽器的實際寬度為370px;

值二:border-box: width和height 屬性包括內容,內邊距和邊框,但不包括外邊距,這時文件處於IE盒模型,注意:填充和邊框將處於盒子內,例如:

{
   width:350px;
   border:10px solid black;
}

導致瀏覽器中呈現的寬度為350px的盒子。內容框不能為負,所以分配為0,

width = border + padding + 內容的  width
height = border + padding + 內容的 height

值三:padding-box:width和Height包括內容和內邊距,但不包括邊框和外邊距,使得不可能使用border-box將元素刪除。