Vue(node.js)
1:什么是nodejs ,起什么作用
是一个javascript运行环境
它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能
2:什么是npm 说出3个npm 常见的命令
随同NodeJS一起安装的包管理和分发工具
npm install 安装模块
npm init在项目中引导创建一个package json文件
npm version看模块版本
3: npm install 命令中 -g -s -D 的意思是什么
-
npm install module_name -g (全局安装)
-
npm install module_name -D (开发时要用)
-
npm install module_name -S (发布生产时要用)
4:maven 依赖中scope 中 compile test runtime provided system 分别代表什么意思
compile: 默认,表示该依赖参与项目的:测试、打包、编译、运行周期。表示该依赖是一个比较强的依赖。
test: 见名知意,表示该依赖仅参与测试相关工作,可以对测试代码进行编译、执行。但不会被打包,如:junit
runtime: 表示该依赖参与运行、测试、打包,但不参与编译周期,与complie相比,跳过了编译期。例如:JDBC驱动
provided: 表示该依赖 参与编译、运行、测试周期,但不参与打包。
system: system与provided相同,区别在于,system表示该依赖是不是从maven仓库获取,而是从本地系统文件获取的,并且需要添加一个systemPath属性参数。
5:ecmascript 和 javascript 的关系是什么
前者是后者的规格,后者是前者的一种实现
6: babel 插件的作用是什么
将ES6及以上版本的代码转换为ES5的工具
7:es6中 模块化编程是什么意思 简述一下使用的过程
模块化就是把单独的一个功能封装到一一个模块(文件)中,模块之间相互隔离,但是可以通过特定的接口公开内部成员,也可以依赖别的模块。模块化开发的好处是方便代码的重用,从而提升开发效率,期方便后期的维护
首先,我同一个目录下新建一个export.js文件模拟其为要导出的模块,再建一个import.js文件模拟其要导入其它模块。同时为了在浏览器运行,新建一个index.html文件,并引入import.js文件。需要注意的是index.html引入import.js时要指定类型type="module"才能使用模块化
8:jquery 中的常见选择器
# . * , 或者
9:解释比较mvvm mvc orm



10:常见的mvvm 框架有哪些
vue.js、react.js、avalon、angular.js
11:v-if v-show 指令的区别是
-
创建
-
显示
12:v-model v-bind 指令的区别是
1、v-bind是单向绑定,用来绑定数据和属性以及表达式,数据只能从data流向页面。
2、v-model是双向绑定,数据能从data流向页面,也能从页面流向data。
3、v-bind可以给任何属性赋值,v-model只能给表单类,也就是具有value属性的元素进行数据双向绑定,如text、radio、checkbox、selected。
13:什么是事件对象 怎样获得事件对象 事件对象可以干什么
-
每一个事件都会有一个对应的对象来描述这些信息,我们就把这个对象叫做事件对象
-
事件的绑定的函数的第一个参数可以获取事件对象
14:vue 中 计算属性 和 方法的区别是什么
开销小
15: jquery 中 $(document).ready() 是个什么函数?为什么要用它?
页面加载函数 页面加载完了才回调执行的函数
16:JavaScript window.onload 事件和 jQuery ready 函数有何不同?
如果有图片 和 音频 视频 那么也要等到图片 音频等加载完毕了 才会执行 回调函数
jquery 的加载函数 只会等到标签加载完毕 静态资源没有加载完毕 也可以执行回调函数
17:jquery 中 如何找到所有 HTML select 标签的选中项? [选择器]
用下面的 jQuery 选择器获取所有具备 multiple=true 的<select >标签的选中项: $('[name=NameOfSelectedTag] :selected')
18:jquery 中 $(this) 和 this 关键字在 jQuery 中有何不同?
$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)
19:使用 CDN 加载 jQuery 库的主要优势是什么 ?
加速
20: jQuery.post() jQuery.get() 和 jQuery.ajax() 方法之间的区别是什么?
发出post请求
发出get请求
都可以发出
21: 说出10个jquery 的 选择器
①基本选择器(ID、元素、类选择器等);
②基本过滤选择器(:first、:last、:even等);
③内容过滤选择器(:empty、:has()、:parent等);
④可见性过滤选择器;
⑤属性过滤选择器等。
22:哪种方式更高效:document.getElementbyId("myId") 还是 $("#myId")
第一种更高效,直接调用javascript引擎。
23:说一下 vue中父传子的过程
1.子组件在props中创建一个属性,用于接收父组件传过来的值; 2.父组件 引入子组件–>注册子组件–>引用子组件; 3.在子组件标签中添加子组件props中创建的属性; 4.将所要传递的值赋值给该属性。
24: 说一下vue中子传父的过程
自定义事件 子传父
25:axios的特点有哪些
-
基于 Promise: Axios 使用 Promise 来处理异步请求,这使得代码更加简洁易读。
-
支持浏览器和 node.js: Axios 同时支持在浏览器和 node.js 中使用,这使得它可以很方便地在前端和后端中使用。
-
自动转换 JSON 数据: Axios 能够自动将服务器响应的 JSON 数据转换为 JavaScript 对象,而不需要手动解析数据。
-
支持请求拦截器: Axios 支持请求拦截器,这允许在请求发送前对其进行处理,例如添加请求头等。
-
支持响应拦截器: Axios 支持响应拦截器,这允许在请求响应后对其进行处理,例如检查响应状态码等。
26:put delete post 请求 往后端传json对象的时候要怎么处理
请求头的 Content-Type 应该设置为 application/json
@RequestBody
27:vue中路由起什么作用
-
控制导航:可以使用路由来控制导航,将不同的页面与 URL 相关联。
-
支持多页应用程序:可以使用路由来支持多页应用程序,便于管理页面之间的导航。
-
支持动态路由:可以使用动态路由来支持动态的 URL,例如在 URL 中提供 ID 等参数。
-
支持历史记录:可以使用路由来管理历史记录,便于用户回退到之前的页面。
-
支持重定向:可以使用重定向来重定向用户到另一个页面。
28:@RequestBody、@RequestHeader 、@RequestParamter、@RequestArribute四个注解的作用和区别
@RequestHeader 注解,可以把Request请求header部分的值绑定到方法的参数上。
用来处理Content-Type: 为application/x-www-form-urlencoded编码的内容。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型) @RequestParam可以接受简单类型的属性,也可以接受对象类型。
-
@RequestBody
处理HttpEntity传递过来的数据,一般用来处理非Content-Type: application/x-www-form-urlencoded编码格式的数据。
@RequestParam和@RequestBody
(1)、在GET请求中,不能使用@RequestBody。 (2)、在POST请求,可以使用@RequestBody和@RequestParam,但是如果使用@RequestBody,对于参数转化的配置必须统一。
29:request.getParamter 和 request.getArribute 的区别
-
request.getParameter方法用于获取请求中的参数,该参数通常是通过 HTTP GET 或 POST 方法提交的。 -
request.getAttribute方法用于获取请求属性,该属性是在请求生命周期内在 Servlet 或 JSP 页面中设置的。
30:说出10个request 中常见的方法
-
getParameter:获取请求中的参数值。 -
getParameterValues:获取请求中同名参数的所有值。 -
getParameterMap:获取请求中所有参数的映射。 -
getAttribute:获取请求属性的值。 -
setAttribute:设置请求属性的值。 -
getAttributeNames:获取请求属性名称的枚举。 -
getMethod:获取请求使用的 HTTP 方法。 -
getServletPath:获取请求的 Servlet 路径。 -
getRequestURI:获取请求的 URI。 -
getHeader:获取请求头的值。
31:你们公司中使用什么技术 上传 下载 处理 excel
-
上传:可以使用 HTML 表单,通过 HTTP POST 方法将文件上传到服务器。Java Servlet 可以接收上传的文件,并存储在服务器上。
-
下载:可以使用 HTTP 响应头,指定文件的 MIME 类型和下载文件的名称,并通过 HTTP 响应内容将文件发送到客户端。
-
处理 Excel:可以使用 Apache POI 库,该库提供了读写 Microsoft Excel 文件的 Java API。使用该 API,可以读取 Excel 中的数据,并进行处理,也可以创建新的 Excel 文件,并将数据写入其中。
32:使用原生的response 怎样下载excel
// 设置响应头 response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment; filename=excel-file.xlsx");
// 获取输出流 OutputStream outputStream = response.getOutputStream();
// 写入数据 // 以下代码仅作为示例,请根据实际情况编写 XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet("Sheet 1"); // ... 为 sheet 填充数据 workbook.write(outputStream);
// 关闭输出流 outputStream.close();
33: Vue的路由实现:hash模式 和 history模式
-
Hash模式:在hash模式下,URL的hash值(即#后面的部分)被用来模拟一个完整的URL,从而进行路由匹配。当页面刷新时,hash值不会改变,因此页面保持了原有的状态。
-
History模式:在history模式下,URL不含有hash值,而是使用HTML5中的history API来实现路由功能。在这种模式下,URL看起来更美观,因为不含有#号。但是,如果服务器没有对这些路径进行特殊的处理,当页面刷新时会产生404错误。
34:Vuex是什么?怎么使用?那种功能场景使用它
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它的主要功能是管理全局状态,使得在多个组件中能共享并且维护一致的数据。
适用场景:
-
多组件共享状态:当你的应用有多个组件需要共享同一状态时,可以使用 Vuex 统一管理这个状态。
-
复杂的应用状态管理:当你的应用状态变得非常复杂,难以管理时,可以使用 Vuex 规范化状态管理流程。
-
缓存,保存密码等数据
35:Vuex中actions和mutations的区别
-
Actions:Actions 是异步的,它们可以用来执行异步操作,比如从后台获取数据,然后通过 mutations 提交状态的更新。Actions 不能直接更新状态,需要通过 commit 来触发 mutations。
-
Mutations:Mutations 是同步的,它们只能用来更新状态。Mutations 中的函数必须是同步的,因为 Vuex 需要知道什么时候状态已经更新完毕,以便能够继续进行其他操作。
总的来说,actions 和 mutations 的区别就在于它们的同步性,以及它们的用途。actions 更适合执行异步操作,而 mutations 更适合更新状态。

浙公网安备 33010602011771号