前端面试题解答(十四)

1、什么是侦听器?

侦听器是Vue中的一个对象,主要用于监听实例中指定变量的数据是否发生更新的处理模块,在实例中通过watch进行声明!

侦听器是Vue实例中,使用watch配置选项声明的一个对象,对象的内部可以监听实例中指定名称的变量,当变量的数据发生更新时触发对应的侦听器,在侦听器处理函数中完成对应的数据运算或者业务处理

2、Vue中计算属性和普通函数的区别是?

Vue中的计算属性本质上也是一个处理函数,可以和普通函数一样进行调用执行;普通函数就是声明在methods中的函数,可以调用执行;

计算属性声明在实例中的computed配置选项上,可以和普通变量一样直接访问,访问的时候相当于调用执行函数,执行结果会进行缓存;如果下次继续访问时参与的数据没有发生变化就会直接使用缓存的数据结果,不会再次执行函数内部代码,性能上得到了提升

普通函数声明在实例中的methods配置选项上,必须调用才能执行,每次调用执行时都会重新执行函数内部代码

3、Vue中计算属性和侦听器的区别是?

Vue中计算属性本质上是一个函数,侦听器内部也包含了处理函数,都可以在数据发生变化时自动调用执行函数内部的代码得到运算结果!计算属性和侦听器都可以监听变量数据是否发生更新

计算属性本质上是一个纯粹的函数,通过函数名称直接访问数据,和普通变量的访问方式一致;调用执行时如果数据没有发生变化就会使用上一次缓存的运算结果,不会再次执行函数内部代码,计算属性可以同时监听一个或者多个数据的变化

侦听器本质上是一个包含了处理函数的对象,主要监听指定变量的数据是否发生变化,一旦监听的变量发生数据更新就会自动执行对应侦听器函数完成数据的运算或者业务处理,每个侦听器对象一般只监听一个变量的数据变化

4、Vue中的过滤器有什么作用?全局过滤器和私有过滤器有什么区别?

Vue中的过滤器,主要的作用是格式化渲染插值表达式或者指令中的数据输出格式!
全局过滤器在Vue实例创建之前,声明在Vue.filter()函数上,全局过滤器可以用在所有声明后的Vue实例中
私有过滤器也称为组件过滤器,一般声明在当前实例的filters配置选项上,私有过滤器只能用在当前实例作用范围中

5、Vue中数据双向绑定的底层实现原理是什么?请实现一个简单的数据双向绑定功能

Vue非常明显的一个特征就是数据实现了双向绑定,简化了实例对象中的数据和网页视图中的数据的双向更新,底层主要是通过数据劫持实现的

// 1、声明一个临时存储变量
let temp;
// 2、数据劫持的方式 声明指定变量
Object.defineProperty(window, "myVariable", {
    // 获取数据时自动执行get()
    get() {
         return temp
    },
    // 设置数据时自动执行set()
    set(value) {
        temp = value
        // TODO 自动执行数据渲染,达到数据同步更新的目的
    }
})

// 访问变量
console.log(myVariable)
// 设置变量
myVairable = "新数据"

6、简述你用过的Vue中哪些指令?分别有什么含义?

v-text/v-html:用于数据渲染输出
v-once:用于数据一次性渲染
v-if/v-show:用于数据按照条件进行渲染
v-if/v-for:用于程序流程控制
v-bind:动态操作属性
v-on:事件操作指令
v-model:表单数据双向绑定

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
BAT前端面试题是指腾讯(Tencent)、阿里巴巴(Alibaba)和百度(Baidu)等中国互联网巨头公司在前端开发职位面试中常问到的题目。这些面试题的目的是评估应聘者的前端技术水平和解决问题的能力。 2019年的BAT前端面试题可能包括以下几个方面的内容: 1. 基础知识和算法:应聘者可能会被要求解释JavaScript的闭包、原型链和作用域链等基本概念。同时,算法题可能会涉及到数组、字符串、递归等方面的问题,如反转字符串、找出数组中的重复元素等。 2. CSS和HTML:应聘者可能会被要求解释盒模型、CSS选择器的优先级、浮动和定位等常见的CSS概念。同时,可能需要用HTML和CSS实现一些特定的布局和效果。 3. 前端框架和库:在2019年的面试中,可能会有一些关于React、Vue.js等前端框架和库的问题。应聘者可能需要解释虚拟DOM的概念、React组件的生命周期、Vue.js的响应式数据等。 4. 性能优化和前端工程化:面试中可能会涉及到如何优化前端性能以及前端工程化的问题。应聘者可能需要解释如何减少HTTP请求、压缩和合并资源、使用缓存等优化技巧,以及如何使用构建工具和自动化部署工具来提高开发效率。 5. 前端安全:面试中可能会问到如何防止XSS(跨站脚本攻击)和CSRF(跨站请求伪造)等前端安全问题。应聘者可能需要解释如何验证用户输入、使用CSP(内容安全策略)等安全技术。 综上所述,2019年的BAT前端面试题会覆盖前端基础知识、算法、CSS和HTML、前端框架、性能优化、前端工程化和前端安全等多个方面。应聘者需要对这些知识有深入的了解,并且能够通过解答问题展示出自己的技术实力和解决问题的能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许你今世繁华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值