vue面试题1

1、简单描述一下你对Vue的理解,以及vue的特点

Vue是尤雨溪团队开发的致力于前端应用构建的框架,
特点:Vue是一个渐进式开发的、自底向上逐层应用、只关注视图层,易于上手,可以很方便的和第三方模块以及项目进行整合,非常高效的开发单页面应用的框架!

2、简述什么是声明式渲染?

答案1:Vue中一种固定的操作语法,在变量数据声明的时候就已经完成和视图页面中数据的双向绑定,将这样声明即渲染的操作方式称为声明式渲染!
答案2:Vue中的一种语法规则,变量在data实例选项中一旦声明就是响应式的,可以和视图页面中的数据实现双向同步!

3、什么是指令?指令有什么作用?

指令是Vue中的一种特殊功能的组件,实现了基本的简单的DOM操作功能;
指令可以添加到标签的属性上,很方便的完成一些基础DOM操作功能,如v-text可以将指定的变量数据渲染到对应的标签上!

4、请描述Vue中常见的指令以及它们的含义

Vue中的指令都是v-开头的一种特殊组件,常见的指令如下:

v-text:渲染文本内容
v-html:渲染超文本内容
v-once:一次性加载
v-show:条件渲染
v-if / v-else-if / v-else:条件渲染
v-for:列表渲染
v-bind:属性动态绑定
v-on:事件 处理指令
v-model:表单双向绑定指令

5、v-if指令和v-show指令的区别

v-if和v-show都是用于条件渲染的指令
v-if是通过DOM加载方式完成指定元素显示/隐藏的切换
v-show是通过display样式完成指定元素显示/异常的切换
项目中对于频繁显示隐藏切换的元素推荐使用v-show指令实现;长时间保持状态的元素推荐使用v-if实现显示隐藏切换

6、v-for指令的key属性的作用?

v-for指令中Key属性的作用对当前渲染的列表数据添加状态绑定

面试官会针对上述问题,继续追问:这也是一种面试技巧,如何有效的引导面试官的问题
①什么是状态?
②如何完成状态绑定?如何验证是否绑定了状态?
③v-for执行列表渲染的时候,如果列表中的数据更新是否会触发所有数据重新渲染?

7、Vue应用中如何声明函数?函数中如何访问实例数据?函数如何被调用执行?

Vue应用中,所有的函数声明在methods选项中
Methods选项中声明的函数,如果要访问data中的数据,可以通过this关键词访问
Methods中声明的函数可以在其他函数中直接通过this调用,或者在页面标签中通过事件执行访问

8、请简要描述至少5个原生JS中字符串的操作函数?

JS中字符串的操作是非常频繁的,常见的操作函数:
-indexOf() 获取指定字符第一次出现的位置
-lastIndexOf() 获取指定字符最后一次出现的位置
-substr() 截取字符串
-substring() 截取字符串
-includes() 判断是否包含某个字符串
-startsWith() 判断是否以某个字符串开头
-endsWith() 判断是否以某个字符串结尾
-padStart() 前置位置补充
-padEnd() 后置位置补充
-match() 搜索匹配
-search() 搜索匹配
-replace() 搜索替换
-……

9、请简要描述至少5个原生JS中数组的操作函数?

数据对象Array,包含的操作函数如下:

  • unshift()
  • shift()
  • push()
  • pop()
  • concat() 拼接一个数组
  • includes() 判断是否包含一个数据
  • indexOf() / lastIndexOf()
  • join() 拼接数组中所有的数据
  • find() 查询符合条件的元素
    • findIndex() 查询符合条件的元素索引
  • every() 高阶函数,用于判断是否所有数据都满足条件
  • filter() 高阶函数,用于条件过滤数组数据
  • forEach() 用于遍历数组高阶函数
  • map() 高阶函数,用于按照条件映射转换数组数据
  • reduce() 高阶函数,用于递归数组数据

10、 请编写一个冒泡排序算法,实现数组中数据从小到大排列

// 1、声明一个函数 | 封装
// 2、函数内部完成符合条件的逻辑运算 | 算法
// 3、编写代码一定要符合编码规范,如缩进 | 规范

/** 冒泡排序算法 函数 */
function sortable(arr) {
    for(var i = 0 ; i < arr.length-1; i++) {
        for(var j = i; j < arr.length; j++) {
            if(arr[i] >= arr[j]){
                 var temp = arr[i]
                 arr[i] = arr[j]
                 arr[j] = temp
}
}
} 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值