logo头像

求知若渴,虚心若愚

JavaScript常见面试题(二)

今天给大家整理一些前端开发中常见的JavaScript面试题。

1. 怎么让一个不定宽高的 DIV,垂直水平居中?

  • 使用 CSS 方法:
    • 父盒子设置:display:table-cell; text-align:center;vertical-align:middle;
    • Div 设置: display:inline-block;vertical-align:middle;
  • 使用 CSS3 transform:
    • 父盒子设置:display:relative
    • Div 设置: transform: translate(-50%,-50%);position: absolute;top: 50%;left: 50%;

2. vue有哪些常见的语法

  • 数据绑定:花括号语法
  • 过滤器和自定义过滤器
  • 指令和自定义指令
  • 模板语法:html
  • 样式绑定
  • 事件绑定
  • 组件
    • 组件注册
    • props
    • 父子组件通讯
  • 等等一些常见语法

3. h5怎么实现兼容

  • H5页面窗口自动调整到设备宽度,并禁止用户缩放页面. meta:vp–视口
  • meta标签可以设置各种浏览器一些基本适配,如用户缩放,强制全屏,针对IE的专门设置等
  • 移动端touch事件兼容
  • 点击元素产生背景或边框怎么去掉
  • 美化表单元素
  • 移动端字体单位font-size选择px还是rem
  • 动画定义3D启用硬件加速
  • 字体兼容问题
  • 顶部状态栏背景色
  • 缓存问题
  • 移动端点击300ms延迟
  • 移动端点透问题
  • 针对iOS的一些兼容
  • 参考文献:http://www.open-open.com/lib/view/open1449325854077.html

4. 移动端自适应布局实现

  • 弹性布局(伸缩布局)flex
  • rem布局
  • 使用百分比加媒体查询
  • 固定一个某些宽度,使用一个模式,加上少许的媒体查询方案

5. vue钩子函数

  • beforeCreate:可以在这加个loading事件
  • created:在这结束loading,还做一些初始化,实现函数自执行
  • beforeMount:
  • mounted:在这发起后端请求,拿回数据,配合路由钩子做一些事情
  • beforeUpdate:
  • updated:
  • beforeDestroy: 你确认删除XX吗? destoryed :当前组件已被删除,清空相关内容
  • destroyed:
  • 参考文献https://segmentfault.com/a/1190000008010666

6. 老项目用的不是vue,在不改变原有结构的情况下,用vue改动

  • 不要重构项目!不要重构项目!不要重构项目!重要事情说3遍
  • 可以不用webpack,直接引入vue.js去写
  • 引用原来的html模板
  • 原来的js中DOM操作,改成指令操作
  • 注意:Vue不推荐操作DOM,一定要理解指令的用法,和数据双向绑定

7. ES6数组方法

  • forEach()为每个元素执行对应的方法.
  • some()方法用于测试数组中是否至少有一项元素通过了指定函数的测试.
  • map()方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组.
  • filter()方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组.
  • every()方法用于测试数组中所有元素是否都通过了指定函数的测试.
  • reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值
  • indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1.
  • 展开运算符允许一个表达式在某处展开.常用的场景包括:函数参数,数组元素,解构赋值.
支付宝打赏 微信打赏

赞赏是对我们的肯定!