zoukankan      html  css  js  c++  java
  • 前端面试整理

    1.箭头函数和普通函数的区别是什么?

    普通函数this:

    1. this的指向可变,默认指向调用他的那个对象,使用call,apply,bind绑定,this指的是绑定该函数的对象。
    2. 在默认情况下,没找到直接调用者,this指的是window。
    3. 在严格模式下,没有直接调用者的函数中的this是undefined。

    箭头函数this:

    1. 在使用=>定义函数的时候,this的指向是其上下文的this,而不是使用时所在的对象,任何方法都改变不了其指向;
    2. 不能够用作构造函数,这就是说,不能够使用new命令,否则就会抛出一个错误;
    3. 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
    4. 不可以使用yield命令,因此箭头函数不能用作 Generator 函数

    2.怎么理解vue单向数据流

    这个概念出现在组件通讯,父子间通过props将数据传给子组件,但是这个prop子组件不能修改,修改会引起问题,必须有父组件修改,子组件想修改数据,只能通过$emit()派发一个自定义事件,父组件收到后,由父组件修改

    3.assets和static的区别

    相同点:assets和static两个都是存放静态资源文件。项目中所需要的资源文件图片,字体图标,样式文件等都可以放在这两个文件下,这是相同点
    不相同点:assets中存放的静态资源文件在项目打包时,也就是运行npm run build时会将assets中放置的静态资源文件进行打包上传,所谓打包简单点可以理解为压缩体积,代码格式化。而压缩后的静态资源文件最终也都会放置在static文件中跟着index.html一同上传至服务器。static中放置的静态资源文件就不会要走打包压缩格式化等流程,而是直接进入打包好的目录,直接上传至服务器。因为避免了压缩直接进行上传,在打包时会提高一定的效率,但是static中的资源文件由于没有进行压缩等操作,所以文件的体积也就相对于assets中打包后的文件提交较大点。在服务器中就会占据更大的空间。
    建议:将项目中template需要的样式文件js文件等都可以放置在assets中,走打包这一流程。减少体积。而项目中引入的第三方的资源文件如iconfoont.css等文件可以放置在static中,因为这些引入的第三方文件已经经过处理,我们不再需要处理,直接上传

    4.vue中怎么实现组件样式私有化

    在style标签中添加scoped

    5.keep-alive标签的作用

    keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染

    6.v-on可以监听多个方法吗
    可以,<input type="text" v-on="{ input:onInput,focus:onFocus,blur:onBlur, }">

    7.vue子组件中data为什么必须是一个函数

    组建中的data写成一个函数,数据以函数返回值的形式定义,这样每次复用组件的时候,都会返回一份新的data,相当于每个组件实例都有自己私有的数据空间,它们只负责各自维护的数据,不会造成混乱。而单纯的写成对象形式,就是所有的组件实例共用了一个data,这样改一个全都改了。

  • 相关阅读:
    WCF之ABC
    一次性为自定义实体类的数据填充
    在HttpHandlers中使用Session
    ASP.NET 2.0防止同一用户同时登陆
    Winson.Framework 1.5发布!
    SqlPager分页控件的使用!
    ExtJS 学习心得(一)
    [原创]Discuz!NT1.1高亮代码插件1.5稳定版!
    Winson.Framework 1.0发布!
    一个不错的WEB打印解决方案!
  • 原文地址:https://www.cnblogs.com/yaolei0422/p/13815146.html
Copyright © 2011-2022 走看看