频道栏目
首页 > 资讯 > HTML/CSS > 正文

58同城2017秋招前端工程师笔试卷

17-08-17        来源:[db:作者]  
收藏   我要投稿

1、var a=[0];

if(a){

console.log(a==true);

}else{

console.log("wut");

}

结果输出是什么?

答案:false

解:a==true相当于Number(a)==Number(true),而Number([0])是0,Number(true)是1

2、css 属性能够设置盒模型的内边距为上 10px 、下 20px 、左 30px 、右 40px 的合并写法 ____.

答案:padding:10px 40px 20px 30px;

3、当块级元素设置 box-sizing:border-box 属性时,该块级元素的 width 包含哪几个部分?

答案:border、padding、width

4、列举出 3 个 JS 中的基本数据类型。

答案:Number、Null、Undefined、String、Boolean

5、input 的 type 属性值列举 3 个.

答案:text、button、radio、checkbox、file、email、password、submit

6、移动浏览器中,触摸一下屏幕会依次触发哪些事件.

答案:touchstart、touchmove、touchend、touchcancel

7、‘5’+3 等于 ____ , ’5’-3 等于 ____.

答案:53 2

8、常见的浏览器端的存储技术有哪些?

答案:

cookie

localStorage

sessionStorage

indexDB

userData:IE中

9、非严格模式下写出下面表达式结果

parseInt(“123a”)=____.

答案:123

10、var a=[1,2,3,4,5];

a.splice(1,3,5,2,1);

console.log(a);

a 的输出结果 ____.

答案:[1,5,2,1,5]

11、简述css中position属性为absolute和relative的区别。

答案:

absolute:相对于最近的设置了相对定位的父元素进行定位,脱离了文档流

relative:相对于浏览器窗口进行定位,没有脱离文档流

12、简述domready和onload事件的区别?图片的onload和domready和页面onload的先后顺序,并简述原因。【掌握】

答案:dom文档加载的步骤为:

1.解析html结构

2.加载外部脚本和样式表文件

3.解析并执行脚本代码

4.dom树构建完成 // DOMContentLoaded

5.加载图片等外部文件

6.页面加载完毕 // window.onload

DOMready是DOM数加载完毕开始执行

onload是所有脚本、图片等各种资源加载完毕才执行

所以:先domready然后img的ready最后window的ready。

13、描述一个你在实际项目中有用过什么比较好的布局方式(不拘泥于页面整体布局,页面中某一小版块也行),深入讲解下其中的原理?

答案:传统盒模型、flex弹性布局

14、Ajax是什么?Ajax的交互模型?同步和异步的区别?如何解决跨域问题?

答案:

1、AJAX是异步JS和XML

2、主要用来实现客户端与服务器端的异步通信,实现局部刷新

创建请求调用对象XMLHttpRequest对象,创建http请求以及对应的请求方法、参数,

通过window.open方法和window.send方法发起请求,设置请求的状态响应函数,绑定xhr,

即xhr.onreadystatechange,监听状态码,成功时操作响应文本即可。

3、同步和异步的区别:

同步:必须等到当前内容完成才能执行以后的内容;

异步:在执行当前内容时,不必等待,直接执行之后的内容。

4、跨域问题:首先明白同源:域名、端口、协议都相同才是,否则就涉及到跨域问题。

解决跨域:

动态创建script标签,利用其src属性获取JS脚本,JS脚本中的内容是函数调用,其参数是服务器返回的数据,在页面上事先定义好回调函数。利用AJAX从服务器获取数据,在回调函数中处理服务器返回的数据,即将其传递给JS脚本的函数调用。

15、简述instanceof和type的区别?

简述[]instanceof Object的值和原因?

答案:

instanceof:检查当前对象是否是某个对象的实例

typeof:检查某个值是哪个基本类型

[] instanceof Object的值:true

原因:数组是Array的实例,而Array是Object的实例

16、编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成。“组合 ”的规则如下:

1). str中的每个字母要么来自于part1,要么来自于part2;

2). part1和part2中字母的顺序与str中字母的顺序相同。

例如:

"codewars"由"cdw"和"oears"组合而成:

s: c o d e w a r s = codewars

part1: c d w = cdw

part2: o e a r s = oears

完成函数:

function isMerge(s, part1, part2) {

//code here

}

答案:

function isMerge(s,part1,part2){
    if(part1.length==0||part2.length==0){
         return s==(part1||part2)?true:false;
    }
    var arr1=[],arr2=[];
    if(part1&&part2){
    	arr1=part1.split('');
    	arr2=part2.split('');
        for(var i=0;i17、编写请给 Array 本地对象增加一个原型方法,它用于删除数字数组中重复的数字(可能有多个),返回值是一个包含被删除的重复条目的新数组

答案:
Array.prototype.delRep=function(){
    if(this.length<=1){
        return [];
    }
    this.sort();//记得一定要排序啊啊啊啊啊····
    var arr=[this.shift()];
    for(var i=0;i18、【编程题】

小 S,小L,小P,小R和小H 五个人排队站在一个出售’克隆可乐’的自动贩卖机前 ; 队伍中除了他们五个没有其他人 。 队形如下 :

小 S,小L,小P,小R,小H

队列的第一个人 (小S)买了一听可乐,喝下去后变成了两个小S!然后两个小S心满意足的站到了队伍的最后。此时队形变成了这样:

小 L,小P,小R,小H,小S,小S

然后队列中下一个人 (小L)也买了听可乐,喝下去后变成两个人,站到了队伍最后。以此类推。例如小P第三个喝了克隆可乐,之后队伍变成这个样子:

小 R,小H,小S,小S,小L,小L,小P,小P

请问第 n个喝这个饮料的人是谁?

答案:
function getNth(arr,n){
    if (n<=arr.length) {
    	return arr[n-1];
    }
    var temp='';
    while (n>0) {
    	temp=arr.shift();
    	arr.push(temp);
    	arr.push(temp);
    	n--;
    }
    return temp;
}
相关TAG标签
上一篇:CSS3视区相关单位VW,VH
下一篇:JS延迟处理函数setInterval
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站