【前端面试题6】

1.如何解决塌陷问题

父级的第一个标签使用marign-top

设置overflow:hidden

添加一个border(给父元素)

不使用marign-top给父级使用padding-top

2.method与action的区别

method:请求方式

action:提交地址

3.深拷贝和浅拷贝区别

深拷贝:拷贝了内容

浅拷贝:拷贝了地址

4.6种数组方法

  //1.join()将数组分隔为字符串 如果有参数用参数来分割 如果没有默认用逗号分隔

  //2.向数组添加或者删除

  //添加 push(向数组最后面添加) unshift(向数组最前面添加)会改变原数组

  //pop 删除数组的最后一项 shift删除数组的最前面一项 会改变原数组

  //3.sort()数组排序 如果是单个数字默认通过

  //4.反转数组 reverse 会改变原数组

  //5.拼接数组 concat()返回新的数组 不会改变原数组

  //6.截取数组 slice()返回新的数组 不会改变原数组

  //7.indexOf()从前向后查找 或者获取某元素的索引值 如果查找不到 得到的是-1

  //lastIndexOf()从后向前查找 或者获取某元素的索引值 如果查找不到 得到的是-1

5.6种数据类型

基本数据类型

  • number

  • string

  • boolean

  • null

  • undefined

复杂数据类型

  • object

  • function

  • array

7.原型

该类的公共空间,节省内存空间,本质是个对象

8.事件对象

该事件所有相关信息

9.load和ready区别

load:DOM0只能实现一次,不能简写,资源全部加载完毕

ready:DOM2可实现多次,能简写,标签全部加载完毕

10.如何跨页面传值

10.1通过a标签或者location.href添加数据,在其他页面可以用location.search获取

10.2通过数据存储手段

11.标签名为什么语义化

标签名字有意义

1.在没有css样式的情况下对代码结构一目了然

2.有利于SEO

12.请说一下什么是viewport

初始化页面元素,防止页面被缩放,规范用户操作

13.mouseover mouseout与mouseenter mouseleave区别

建议使用mouseenter mouseleave,因为mouseover mouseout会造成多次无效触发

14.get和post区别

get:get是明文,获取数据

post:上传数据

15.同步与异步

同步:上一个任务结束,下一个在开始,比如alert弹窗,登录注册流程

异步:按顺序开始,不一定按顺序结束,比如图片加载,上传下载等任务

16.jquery链式语法的原理是什么

jq对象调用方法会返回一个jq对象

17.change与input事件区别

change:内容被修改并且失去焦点

input:内容被修改

18.请从html,css,js三个维度说一下如何减少页面加载时间

html:多使用语义化标签,减少层级嵌套

css:减少动画使用,适当使用服务器字体,使用精灵图

js:减少for循环嵌套,适当使用switch,减少重绘重排次数(多使用类修改,减少内联样式的修改),少用load,使用ready,减少网络请求次数,按需加载

19.请使用setTimeout实现setInterval

20.代码:冒泡排序

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值