模拟面试题,模拟,能写多少就写多少。红色为不知道,橙色为错误作答,绿色为纠正或补充作答

第一套

1.js数组有哪些方法

join、slice、pop、shift、unshift、push、some、every、forEach、map、slatMap、reduce
join用来连接两个数组,也可以用于克隆一个数组

forEach注意E大写,没有返回值。不能用break和return来终止遍历,参数是item、index、array
map是有返回值的,可以用于函数链式调用

slatMap用于扁平化数组,就是可以给多维数组降维
every用来遍历数组,所有数组元素符合条件则返回true。some用来遍历数组,有一个数组元素符合条件则返回true

……

join是将数组加入拼接符转成字符串
concat是拼接数组,参数可以是任何数据。如果是数组,会将他插进去后,再变成一维数组(可以用来克隆一个数组)
slice是截取数组,两个参数,有头无尾,第二个参数支持负数
pop删除并返回数组最后一个元素
shift删除并返回数组第一个元素
push在数组末尾添加一个元素(用得最多)
unshift在数组开头添加一个元素
splice可以在数组任何位置添加,删除,替换元素。参数分别为starti,n(删除几个元素,0就不删除),后面的参数为需要插入或者替换的新元素,可以有无限个
reverse颠倒数组
sort数组排序,默认是按照unicode码排序,要想按照指定规则排序,需要一个排序方法作参数
filter遍历数组,将符合条件的元素加入到一个新数组中,简单的说就是过滤


2.reduce有哪些参数 slice有哪些参数 
reduce一共有五个参数
prev 必需。累计器累计回调的返回值; 表示上一次调用回调时的返回值,或者初始值 init;
cur 必需。表示当前正在处理的数组元素;
index 可选。表示当前正在处理的数组元素的索引,若提供 init 值,则起始索引为- 0,否则起始索引为1;
arr 可选。表示原数组;
init 可选。表示初始值。

slice只有两个参数,splice可以有无数个参数

3.ul里面有一堆li,需要点击li弹出li的内容,怎么实现 
用事件冒泡,也就是事件委托,只需要给ul添加点击事件,然后调用事件对象的target属性,
alert(e.target.innerText)


4.怎么实现三栏布局(应该不会这么简单,应该是两边固定,中间自适应)
左右float,中间用margin留出间距,或者父盒子用padding
BFC布局,左右float,中间栏用over-flow:hidden做成一个自适应
flex布局
position定位,父盒子相对定位,左右盒子绝对定位,中间盒子留出间距
table布局


5.css3有哪些新特性,渐变怎么用
动画,import,过渡,
可以控制渐变的方向,颜色,渐变的过渡位置。具体怎么写忘了
1)选择器
2)阴影
3)形状转换(2D <-> 3D)
4)变形
5)动画(过渡动画、帧动画)
6)边框
7)多重背景
8)反射
9)文字
10)颜色函数(rgba/hsl/hsla)
11)滤镜(filter)
12)弹性布局
13)多列布局
14)栅格布局
15)盒模型
16)Web字体
17)媒体查询
渐变分线性渐变、径向渐变、重复的径向渐变

6.正向代理和反向代理
正向代理是代理用户客户端,为客户端发送请求,对服务器隐藏自己的真实客户端
反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端

7.什么是跨域,怎么解决
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制
1、JSONP
2、通过修改document.domain来跨子域
3、使用window.name来进行跨域
4、使用HTML5中新引进的window.postMessage方法来跨域传送数据
5、代理

8.JSONP是什么原理 
通过script标签引入一个js文件,这个js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入

9.什么是预检请求
预检请求(preflight request),是一个跨域请求,用来校验当前跨域请求能否被理解
请求对服务器有影响的,会发起预检请求

11.localStorage sessionStorage cookie的区别 
cookie只能存4kb,localStorage sessionStorage可以存5MB
sessionStorage 页面一关闭就没了,cookie可以设置有效时长,localStorage 只要不控制删除或者在F12里面手动删除,就会一直在
存储的数据类型不一样

cookie

session

localStorage

sessionStorage

数据大小

不能超过4KB

因为会在在服务端来回传递,不能太大

没有大小限制

保存在服务端,存储过多,会给服务器造成压力

可以达到5MB

可以达到5MB

存储期限

可以设置生命周期,到期即结束。没有设置生命周期(会话cookie),关闭页面就没了

可以设置周期

只要不手动删除就一直在

sessionStorage仅在当前会话下有效,刷新页面也会存在,关闭页面或浏览器后被清除

存储位置

存储在本地,在不同页面也会存在,但是必须要是同源的页面(同域名,同端口)

存在服务端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值