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 的意思是什么

  1. npm install module_name -g (全局安装)

  2. npm install module_name -D (开发时要用)

  3. 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

img

img

img

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的特点有哪些

  1. 基于 Promise: Axios 使用 Promise 来处理异步请求,这使得代码更加简洁易读。

  2. 支持浏览器和 node.js: Axios 同时支持在浏览器和 node.js 中使用,这使得它可以很方便地在前端和后端中使用。

  3. 自动转换 JSON 数据: Axios 能够自动将服务器响应的 JSON 数据转换为 JavaScript 对象,而不需要手动解析数据。

  4. 支持请求拦截器: Axios 支持请求拦截器,这允许在请求发送前对其进行处理,例如添加请求头等。

  5. 支持响应拦截器: Axios 支持响应拦截器,这允许在请求响应后对其进行处理,例如检查响应状态码等。

26:put delete post 请求 往后端传json对象的时候要怎么处理

请求头的 Content-Type 应该设置为 application/json

@RequestBody

27:vue中路由起什么作用

  1. 控制导航:可以使用路由来控制导航,将不同的页面与 URL 相关联。

  2. 支持多页应用程序:可以使用路由来支持多页应用程序,便于管理页面之间的导航。

  3. 支持动态路由:可以使用动态路由来支持动态的 URL,例如在 URL 中提供 ID 等参数。

  4. 支持历史记录:可以使用路由来管理历史记录,便于用户回退到之前的页面。

  5. 支持重定向:可以使用重定向来重定向用户到另一个页面。

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 中常见的方法

  1. getParameter:获取请求中的参数值。

  2. getParameterValues:获取请求中同名参数的所有值。

  3. getParameterMap:获取请求中所有参数的映射。

  4. getAttribute:获取请求属性的值。

  5. setAttribute:设置请求属性的值。

  6. getAttributeNames:获取请求属性名称的枚举。

  7. getMethod:获取请求使用的 HTTP 方法。

  8. getServletPath:获取请求的 Servlet 路径。

  9. getRequestURI:获取请求的 URI。

  10. getHeader:获取请求头的值。

31:你们公司中使用什么技术 上传 下载 处理 excel

  1. 上传:可以使用 HTML 表单,通过 HTTP POST 方法将文件上传到服务器。Java Servlet 可以接收上传的文件,并存储在服务器上。

  2. 下载:可以使用 HTTP 响应头,指定文件的 MIME 类型和下载文件的名称,并通过 HTTP 响应内容将文件发送到客户端。

  3. 处理 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模式

  1. Hash模式:在hash模式下,URL的hash值(即#后面的部分)被用来模拟一个完整的URL,从而进行路由匹配。当页面刷新时,hash值不会改变,因此页面保持了原有的状态。

  2. History模式:在history模式下,URL不含有hash值,而是使用HTML5中的history API来实现路由功能。在这种模式下,URL看起来更美观,因为不含有#号。但是,如果服务器没有对这些路径进行特殊的处理,当页面刷新时会产生404错误。

34:Vuex是什么?怎么使用?那种功能场景使用它

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它的主要功能是管理全局状态,使得在多个组件中能共享并且维护一致的数据。

适用场景:

  • 多组件共享状态:当你的应用有多个组件需要共享同一状态时,可以使用 Vuex 统一管理这个状态。

  • 复杂的应用状态管理:当你的应用状态变得非常复杂,难以管理时,可以使用 Vuex 规范化状态管理流程。

  • 缓存,保存密码等数据

35:Vuex中actions和mutations的区别

  1. Actions:Actions 是异步的,它们可以用来执行异步操作,比如从后台获取数据,然后通过 mutations 提交状态的更新。Actions 不能直接更新状态,需要通过 commit 来触发 mutations。

  2. Mutations:Mutations 是同步的,它们只能用来更新状态。Mutations 中的函数必须是同步的,因为 Vuex 需要知道什么时候状态已经更新完毕,以便能够继续进行其他操作。

总的来说,actions 和 mutations 的区别就在于它们的同步性,以及它们的用途。actions 更适合执行异步操作,而 mutations 更适合更新状态。

posted @ 2023-02-20 20:01  Peter_tang  阅读(30)  评论(0)    收藏  举报