前端面试相关问题解答

1、v-if和v-show的区别和相同点

  共同点:他们都是控制元素的显示和隐藏

  区别:v-show是对display属性的控制,v-if是条件渲染(条件为真,渲染元素,条件假,销毁元素)

                  v-if可以与template一起使用,v-show不可以

                  v-if切换开销太大,v-show开销相对来说小一点

 

2、json格式:

  json是一种数据传输格式 

    1、普通的key value的组合 name:”xiaohu”;

    2、json数组格式 {"lists":[5,6,7,8]}

    3、json嵌套:json嵌套 json对象中包括json数组,json数组也可以包括json对象

       var jsonObj =(举例json嵌套)

{

"total": 3,

"rows": [

{

"title": "树莓派学习笔记——索引博文",

"url": "http://blog.csdn.net/xukai871105/article/details/23115627"

},

{

"title": "树莓派学习笔记——GPIO功能学习",

"url": "http://blog.csdn.net/xukai871105/article/details/12684617"

},

 

 

3、css两种盒子模型: 

  W3C盒子模型(标准盒模型)box-sizing:content-box(默认情况)

       IE盒模型(怪异盒模型)box-sizing:border-box

两个盒子模型的区别:IE盒模型的width(/height) = content+padding+border

                                   W3C盒子模型 width(/height) = content部分的宽度

 

 

 4、vue-router是什么,路由有几种模式?

  vue-router是是Vue.js官方的路由插件,构建单页面应用,对于vue项目相当于只有一个主页面index.html,所以使用<a></a>标签是不起作用的,必须使用vue-router来进行管理。

vue-router切换是组件的切换。

  SPA(single page application):单一页面应用程序,只有一个完整的页面;它在加载页面时,不会加载整个页面,而是只更新某个指定的容器中内容。单页面应用(SPA)的核心之一是: 更新视图而不重新请求页面

 

路由的模式有两种:

  1、Hash模式

      hash模式的工作原理是hashchange事件,可以在window监听hash的变化。我们在url后面随便添加一个#xx触发这个事件(http://www.abc.com/#/hello)。

      hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。但是这种路由模式比较丑

  2、History模式

URL 就像正常的 url,例如 http://www.yongcun.wang/tclass 需要后台配置支持

 

5、Dom事件流的几个阶段

  DOM把整个页面映射为一个多层节点结果,开发人员可借助DOM提供的API,轻松地删除、添加、替换或修改任何节点。

分为三个阶段:

  事件捕获阶段:事件从根节点流向目标节点,途中流经各个DOM节点,在各个节点上触发捕获事件,直到达到目标节点。

  处于目标阶段:事件到达目标节点时,就到了目标阶段,事件在目标节点上被触发

  事件冒泡阶段:事件在目标节点上触发后,不会终止,一层层向上冒,回溯到根节点

 6、axios是什么?如何使用?

axios是请求后台资源模块。

使用方式:安装axios模块,在index.js文件中引入axios,通过post或者get请求获取数据

举例一个get方式的

// 第一种方式  将参数直接写在url中
axios.get('/getMainInfo?id=123')
.then((res) => {
  console.log(res)
})
.catch((err) => {
  console.log(err)
})
// 第二种方式  将参数直接写在params中
axios.get('/getMainInfo', {
  params: {
    id: 123
  }
})
.then((res) => {
  console.log(res)
})
.catch((err) => {
  console.log(err)
})

 

posted @ 2021-04-04 15:40  chenyuan#  阅读(62)  评论(0编辑  收藏  举报