前端面试准备3

一、fs模块中同步异步的区别

 

 

 二、vue双向绑定原理

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

2.核心:关于VUE双向数据绑定,其核心是 Object.defineProperty()方法;

3.Object.defineProperty()方法
(1)Object.defineProperty(obj, prop, descriptor) ,这个语法内有三个参数,分别为 obj (要定义其上属性的对象) prop (要定义或修改的属性) descriptor (具体的改变方法)
(2)简单地说,就是用这个方法来定义一个值。当调用时我们使用了它里面的get方法,当我们给这个属性赋值时,又用到了它里面的set方法;

三、常见网络攻击类型 

     SQL注入:SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,例如泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的

     XSS攻击:又称CSS,全称Cross SiteScript,跨站脚本攻击,服务器对客户端的输入检测不严格 ,导致客户端输入的恶意JAVASCRIPT代码被植入到HTML代码中,这些JAVASCRIPT代码得以执行,实现一些特殊的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。

    CSRF:(Cross-site request forgery)跨站请求伪造,CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作。如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。

    防御攻击的方法:

      1.永远不要信任用户的输入。对用户的输入进行校验,验证。只允许输入合法的值,其它值一概过滤掉。

      2.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

      3.采取辅助软件或网站安全平台来检测,漏洞检测工具等。

      4.防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。

四、给数据添加属性为什么要用 Vue.set?为什么不能直接添加属性

有时我们在页面渲染后再给某一个数据对象添加或删除一个属性时,控制台显示已经添加但是实际的显示结果没有改变,这是因为在初始化的时候会对当前已有的对象属性调用getter和setter方法才会实现响应式,后面添加的不在其中。所以需要调用Vue.set方法进行数据更新。

五、Vue中computed和watch的区别 

  计算属性computed : 

    1. 支持缓存,只有依赖数据发生改变,才会重新进行计算

    2. 不支持异步,当computed内有异步操作时无效,无法监听数据的变化

    3.computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到的值

    4. 如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed

    5.如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;在 computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法。

  侦听属性watch:

    1. 不支持缓存,数据变,直接会触发相应的操作;

    2.watch支持异步;

    3.监听的函数接收两个参数,第一个参数是最新的值;第二个参数是输入之前的值;

    4. 当一个属性发生变化时,需要执行对应的操作;一对多;

    5. 监听数据必须是data中声明过或者父组件传递过来的props中的数据,当数据变化时,触发其他操作,函数有两个参数,

    immediate:组件加载立即触发回调函数执行,

    deep: 深度监听,为了发现对象内部值的变化,复杂类型的数据时使用,例如数组中的对象内容的改变,注意监听数组的变动不需要这么做。注意:deep无法监听到数组的变动和对象的新增,参考vue数组变异,只有以响应式的方式触发才会被监听到。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值