1、下面代码输出什么? (C)
function addToList(item, list) {
return list.push(item)
}
var result = addToList(‘apple’, [‘banana’])
console.log(result)
A: [‘banana’, ‘apple’]
B: [‘apple’, ‘banana’]
C: 2
D: true
2、下列哪种数组的方法不会修改数组本身 ?(A)
A: slice B: splice C: sort D: unshift
3.、请问下面那个方法可以删除数组最后一个元素?(C)
A: shift() B:unshift() C: pop() D: push()
4、以下不是闭包特点的是 (D)
A 函数嵌套函数
B 函数内部可以引用外部的参数和变量
C 参数和变量不会被垃圾回收机制回收
D 返回的函数可以不用存储在外部变量中
5、同步和异步执行分别表示什么含义(A)
A 按顺序依次执行和同时分开执行
B 同时分开执行和按顺序依次执行
C 按一致的速度执行和按不同的速度执行
D 按相同的步骤执行和按不同的步骤执行
6、.以下运行的结果是false的是 function Box(){this.name=‘zhang’;} function Desk(){this.age=100;} function Table(){this.lever=1000} Desk.prototype=new Box();//通过原型链继承 var desk=new Desk(); var table=new Table (C);
A alert(table instanceof Object)
B alert(desk instanceof Box);
C alert(Desk instanceof Box);
D alert(desk instanceof Desk );
7、在HTML页面中,下列选项不属于键盘相关事件的是(C)
A onkeyup B onkeydown C oncontextmenu D onkeypress
8.下列代码的执行结果是 var result = 12 + 2 + “12”- 2 * 2; document.write(result); (C)
A 1221222 B 14124 C 1408 D 2820
9.下列关于事件监听器的说法,错误的是 (A)
A addEventListener第三个参数为false时,表示事件不会触发
B IE8以下使用attachEvent添加事件监听器
C addEventListener同一个事件可以绑定多个函数
D IE8以下浏览器使用detachEvent移除监听器.
10、阻止浏览器默认行为,使用以下哪个方法(B)
A stopPropagation() B preventDefault() C cancelBubble = false D return true
11、下列关于Vue说法错误的是(D)。
A. Vue与Angular都可以用来创建复杂的前端项目
B. Vue的优势主要包括轻量级、双向绑定
C. Vue在进行实例化之前,应确保已经引入了核心文件vue.js
D. Vue与React语法是完全相同的
12、下列关于Vue的优势的说法错误的是(C)。
A. 双向数据绑定 B.轻量级框架 C.增加代码的耦合度 D.实现组件化
13、下列不属于Vue开发所需工具的是(D)。
A. Chrome浏览器 B.VS Code编译器 C. vue-devtools D. 微信开发者工具
14、Npm管理器是基于(A)平台使用的
A.Node.js B.Vue C.Babel D.Anguar
15、下列选项,用来安装vue模块的正确命令是(A)。
A. npm install vue B.node.js install vue C.node install vue D. npm I vue
16、Vuex实例对象中类似于computed计算属性功能的选项是(D)。
state B.mutations C.actions D.getters
17、下面关于Vuex核心模块说法,错误的是(B )。
A.Vuex配置对象中,actions选项是异步的
B.Vuex.config对象是全局配置对象
C.Vuex配置对象中,mutations选项是同步的
D.通过commit完成mutations提交
18、现有以下代码,下面说法错误的是(B)
使用v-show控制
使用v-if控制
A. 当flag是true时,两个div都能显示出来
B. 当flag是false时,第一个div进行了渲染
C. 当flag是false时,第一个div设置了display: none
D.当flag是false时,第二个div设置了visible: hidden
19、关于路由说法错误的是(C)
A.使用脚手架创建项目时,需要选择安装vue-router
B.在嵌套路由中,需要VueRouter的参数中使用children配置
C. vue-router不可以实现重定向
D. vue-router可以通过配置实现路由懒加载
20、下列关于Vue2和Vue3的描述错误的是(C)
A.Vue3中Template支持多个根标签,Vue2不支持
B.Vue3中的生命周期的挂载钩子是onMounted,需要引入才能使用
C.Vue3组合API中的setup()方法中不可以使用生命周期钩子函数
D.Vue3引入了tree-shaking,以模块的方式引入api,减小打包体积
二、 判断题
1、Vue与Angual 和React框架不同的是,Vue设计为自下而上逐层应用。✔
2、Vue完全能够为复杂的单页应用提供驱动。✔
3、params方式传参类似于GET请求。(x)
4、Vue中 MVVM 框架主要由3部分组成:Model 、View和 ViewModel。✔
5、开发环境下,使用import VueRouter from ‘vueRouter’来导入路由。(x)
6、插件不能修改webpack的内部配置,但是可以向vue-cli-service注入命令。(x)
三、 问答题
1、Vue 组件中 data 为什么必须是函数?
保证组件的独立性和可复用性,data是一个函数,组件实例化的时候将会调用这个函数,返回一个对象,计算机会给这个对象分配一个内存地址,你实例化几次,就分配几个内存地址,他们的地址都不一样,所以每个组件中的数据不会相互干扰,改变其中一个组件的状态,其它组件不变。
2、vuex的State特性是?
1、Vuex就是一个仓库,仓库里面放了很多对象。其中state就是数据源存放地,对应于与一般Vue对象里面的data
2、state里面存放的数据是响应式的,Vue组件从store中读取数据,若是store中的数据发生改变,依赖这个数据的组件也会发生更新
3、它通过mapState把全局的 state 和 getters 映射到当前组件的 computed 计算属性中3、v-show和v-if指令的共同点和不同点
- v-show指令是通过修改元素的displayCSS属性让其显示或者隐藏
- v-if指令是直接销毁和重建DOM达到让元素显示和隐藏的效果
4、Vue 路由跳转的几种方式
第一种方式:router-link (声明式路由)第二种方式:router.push(编程式路由)第三种方式:this.$router.push() (函数里面调用)第四种方式:this.$router.replace() (用法同上,push)第五种方式:this.$router.go(n)
5、vuex的State特性
Vuex就是一个仓库,仓库里面放了很多对象。其中state就是数据源存放地,对应于一般Vue对象里面的data。state里面存放的数据是响应式的,Vue组件从store中读取数据,若是store中的数据发生改变,依赖这个数据的组件也会发生更新。通过mapState和mapGetters把全局 state 和 getters 映射到当前组件的 computed 计算属性中
6、params和query的区别
⽤法:query要⽤path来引⼊,params要⽤name来引⼊,接收参数都是类似的,分别是this. $router.query.name 和 this.$router.params.name。url地址显⽰:query更加类似于我们ajax中get传参,params则类似于post,说的再简单⼀点,前者在浏览器地址栏中显⽰参数,后者则不显⽰
注意点:query刷新不会丢失query⾥⾯的数据params刷新会丢失params⾥⾯的数据