首页

Web前端面试试题20151119(前端工程师)

标签:前端,工程师,web,面试,试题,面试题     发布时间:2015-11-21   

1.    inline,inline-block,block的区别以及各自的使用场景

答:

inline是内敛对象特征,该元素对象都在同一行排列,高、行高及顶和底部不可改变,元素有<span>、<a>、<label>、<input>、<img>等

inline-block:对象呈现是内敛对象,对象内容则是块对象,该标签在ie中不支持

block是块对象特征,元素总在新行开始,高、行高及顶和底部可控制,元素有<div>、<p>、<h1>、<form>、<ul>、<li>

2.    以下代码输出结果是:

(function(x){@b@    x=2;@b@    console.dir(arguments[0]);@b@})(1);

答:console.dir(arguments[0]);//2

3.    以下代码输出结果是:

for(var i=0;i<5;i++){@b@  setTimeout(function(){console.log(i);},i*1000);@b@}

答:

5@b@5@b@5@b@5@b@5

4.    以下代码输出结果是:

function a(x,y){@b@    y=function(){x=2;};@b@    return function(){@b@         var x=3;@b@         y();@b@         console.log(x);@b@    }@b@}@b@a();

答:无结果,console.log(x);不会被调用

5.    编写add方法确保以下调用输出期待的结果

add(3,9);//12

答:

function add(x,y){@b@        return x+y;@b@}

add(3)(9);//12

答:

function add(x){@b@        return function(y){@b@            return x+y;@b@};@b@}

6.    编写duplicate方法确保以下调用输出期待的结果

duplicate([1,2,3,4,5]);//[1,2,3,4,5,4,3,2,1]

答:

function duplicate(intArr){@b@  var $intArr=[];@b@  for(var i=0,j=intArr.length-2;i<intArr.length*2-1;i++){@b@    if(i>=intArr.length){@b@        alert(intArr[j]);@b@       $intArr[i]=intArr[j];@b@       j--;@b@    }@b@     $intArr[i]=intArr[i];@b@  }     @b@  return $intArr;@b@}


试题下载 : Web前端面试试题20151119(前端工程师).docx