美文网首页
web前端面试提问总结:

web前端面试提问总结:

作者: 似朝朝我心 | 来源:发表于2021-12-02 11:49 被阅读0次

    学过CSS3吗?CSS3的新增特性有哪些?

    主要是文本效果、边框、图片、字体、背景效果、阴影效果、色彩类:

    • RGBA和透明度
    • word-wrap属性
    • background属性
    • text-shadow属性
    • font-face属性
    • border-radius属性
    • box-shadow属性

    渐变:

    • linear-gradient():线性渐变。
    • radial-gradient():径向渐变。

    其他:

    • 三类选择器,基本选择器,属性选择器,伪类选择器
    • 媒体查询(响应式布局)- 盒模型、弹性布局(flex布局)
    • 网格分栏布局
    • 多栏布局

    动画相关:

    • Transition 过渡
    • Transform 2D或3D转换
    • Animation 实现动画功能
    • 画布canvas是h5新增的标签,不属于css3

    学习过动画吗?动画怎么写?

    • @keyframes 动画绑定到某个元素
    • animation-name 给动画命名
    • animation-duration 需要多长时间才能完成动画
    • animation-delay 延迟动画
    • animation-iteration-count 设置动画应运行多少次
    • animation-direction 反向或交替运行动画
    • animation-timing-function 指定动画的速度曲线
    • animation-fill-mode 指定动画的填充模式
    • animation 动画简写属性(1抵7)
    <style> 
    div {
      width: 100px;
      height: 100px;
      background-color: red;
      position: relative;
      animation: myfirst 5s linear 2s infinite alternate;
    }
    
    @keyframes myfirst {
      0%   {background-color:red; left:0px; top:0px;}
      25%  {background-color:yellow; left:200px; top:0px;}
      50%  {background-color:blue; left:200px; top:200px;}
      75%  {background-color:green; left:0px; top:200px;}
      100% {background-color:red; left:0px; top:0px;}
    }
    </style>
    

    对JS了解吗?简要说一下定时器有哪些?怎么清除定时器?

    js 定时器有以下两个方法:

    • setInterval() 间隔执行
    • setTimeout() 延迟执行
      清除与之对应使用 clearInterval() 和 clearTimeout()

    css定位属性有哪些?简要说明。

    • 绝对定位:absolute
    • 相对定位:relative
    • 固定定位(相对视窗而言):fixed
    • 粘性定位(相对于用户滚动位置而言):sticky
    • 静态定位:static

    学习过浮动吗?怎么清除浮动?相关属性有哪一些?

    有左右浮动和文档流浮动布局。

    常见的2种清除浮动方案:

    • 使用带clear属性的空元素
    在浮动元素后变使用一个空元素如<div class="clear"></div>,并在CSS中赋予.clear{clear:both;}属性即可清理浮动。
    
    
    • 使用CSS的overflow属性(也就是BFC)添加overflow属性后,浮动元素又回到了容器层,把容器高度撑起,达到了清理浮动的效果

    vue相关:

    组件通讯方式有哪些?父子组件如何通讯?
    常见的是父子组件通讯、兄弟组件通讯、vuex复杂组件通讯。

    父子组件通讯:

    • 父传子:父组件通过绑定自定义属性,子组件通过props进行接收
    • 子传父:子组件绑定事件的形式,通过$emit()发送,父组件通过发布时间进行接收。

    vuex状态管理理解?
    成员列表:

    • state 存放变量共享状态
    • mutations 存放state成员操作
    • getters 加工state成员给外界
    • actions 异步操作
    • modules 模块化状态管理

    学过vue-cli吗?npm怎么安装?vue-router理解?怎么写?学过路由守卫吗?说说看?还有路由懒加载实现原理。

    1.安装npm install vue-router
    2.文件src下创建router文件夹,在router文件夹下创建router.js
    3.在main.js导入路由并配置
    4.书写路由规则,导入组件,在router.js里写入
    5.在App.vue里添加路由链接
    6.在router.js里配置规则

    路由守卫分为前置守卫和后置守卫:

    • 前置守卫:对路由进行权限控制。在路由跳转前触发,参数包括to,from,next三个,这个钩子作用主要是用于登录验证,也就是路由还没跳转提前告知。
    • 后置守卫:在跳转之后判断

    路由懒加载实现原理:其实就是按需引入,为了避免页面一开始就全部加载所有的组件,使页面出现的慢,卡顿,路由懒加载就是你点击了那个导航才开始加载那个组件,提高用户体验。

    简述一下vue的基本指令?

    v-if | v-esle | v-else-if 条件判断
    v-bind 单向数据绑定
    v-show 双向数据绑定
    v-on 事件绑定
    v-for 列表渲染
    v-text 文本
    v-html 转义

    v-model双向数据绑定的实现原理?与单向数据流动v-bind的区别?

    vue 双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的, 也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变。

    学过vue的修饰符吗?

    • 事件修饰符
      .stop 阻止单机事件传递,案例阻止事件层层冒泡
      .prevent 提交事件不再重载页面
      .once 事件点击只触发一次
      .capture 捕获、监听事件

    • v-model修饰符

    <input v-model.lazy="msg">  默认情况下,v-model同步输入框的值和数据。可以通过这个修饰符,转变为在change事件再同步。
    <input v-model.number="msg"> 自动将用户的输入值转化为数值类型
    <input v-model.trim="msg"> 自动过滤用户输入的首尾空格
    
    
    • 键盘修饰符
    <input @keyup.enter="submit">  监听空格键
    还可以监听其他键位
    

    v-if和v-show显示与隐藏的区别?

    v-show控制css的display属性为none,v-if是向dom中添加或删除元素。
    频繁点击的话采用v-show

    相关文章

      网友评论

          本文标题:web前端面试提问总结:

          本文链接:https://www.haomeiwen.com/subject/kcryxrtx.html