Vue面试题
1、讲一下你对Vue生命周期的理解
首先来谈谈生命周期是什么,可以通俗的理解成“人的一生”,从出生到死亡是人的一生,也是一个完整的生命周期。Vue中的生命周期具有8个阶段,创建前后、挂载前后、更新前后、销毁前后。
创建前:组件实例被创建,但是没有初始化数据和方法,data和methods还是空的。
创建后:组件实例已经成功初始化,data和methods已经准备好了,你可以在这个阶段进行数据的初始化和异步操作。
挂载前:创建虚拟DOM但是不进行挂载,你可以这个阶段执行一些操作用来准备渲染。
挂载后:虚拟DOM中的组件已经被挂载到实际DOM上面去了,可以在这一阶段对DOM元素进行操作。更新前:
更新前:数据发生改变时,就会触发这个生命周期钩子函数,触发之后虚拟DOM会进行重新渲染,但并不会马上进行挂载,你可以在这个阶段进行一些操作,比如检查数据的变化。
更新后:虚拟DOM在重新渲染之后再次应用到实际DOM上面去,这个钩子函数被调用,就可以进行DOM操作
销毁前:组件销毁前,会触发这个钩子函数,你可以在这个阶段进行一些清理工作,比如说取消订阅、清除定时器、移除事件的监听器
销毁后:这个函数 ...
命题说话思路
1、我的愿望(或理想)
2、我的学习生活
3、我尊敬的人
4、我喜爱的动物
5、我喜爱的花
6、童年的记忆
7、我喜爱的职业
8、难忘的旅行
9、我的朋友
10、我喜爱的书刊
11.我喜爱的文学
12、谈谈卫生与健康
13、我的业余生活
14、我喜欢的季节
15、学习普通话的体会
16、谈谈服饰
17、我的假日生活
18、我的成长之路
19、谈谈科技生活与社会生活
20、我知道的风俗
21、我和体育
22、我的家乡
23、谈谈美食
24、我喜欢的节日
25、我所在的集体
26、谈谈社会公德和职业道德
27、谈谈个人修养
28、我喜欢的明星
29、我喜欢的书籍
30、谈谈对环境保护的认识
31、我向往的地方
32、购物或者消费的感受
普通话命题说话
1、我的愿望(或理想)
我的愿望很简单,却也充满了深刻的渴望和期待。我渴望一个幸福而有意义的生活,一个生活中充满了爱、健康、成功和满足感的生活。这个愿望虽然简单,但它激励着我朝着更好的方向前进。
首先,我渴望健康。健康是一切的基础。没有健康,其他一切都显得苍白无力。我希望能够拥有一个健康的身体,远离疾病和痛苦。我知道健康不是理所当然的,需要好好照顾自己的身体,保持适度的运动和均衡的饮食。只有拥有健康的身体,我才能够更好地享受生命的每一天。
其次,我渴望成功。成功不一定意味着拥有巨大的财富或高官厚禄,它可以体现在自己的职业生涯、个人成就或对社会的贡献上。我希望能够有一份充实而有挑战性的工作,充分发挥自己的潜力,不仅为自己创造价值,还为社会带来积极的影响。成功也意味着不断学习和成长,迎接挑战,超越自己,让自己变得更好。
此外,我渴望爱。家庭和友情是生活中最宝贵的财富。我希望能够与家人建立亲密的关系,互相扶持和理解。我也渴望结交真诚的朋友,分享快乐和困难,共同成长。爱不仅局限于亲情和友情,还包括了关心和帮助他人,建立友善和和谐的社会关系。
最重要的是,我渴望满足感。满足感不仅来自物质的享受, ...
Promise面试题
一、基础的问题1、什么是Promise? promise可以处理异步操作,具有链式调用和状态管理,两者结合可以避免回调地狱,使得流程更加的清晰。
2、Promise的状态有哪些? promise有三种状态:pending、Fulfilled、Rejectedpending状态是promise中的.then方法返回了一个新的promise的对象,此时这个新的promise对象的状态就是pending(进行中),等待结果的状态,但是这个promise的对象接下来的状态的改变要看前一个.then里面的回调返回的结果。Fulfilled状态是前一个.then里面的回调Resolve返回结果之后,promise对象从pending状态转换为Fulfilled
Rejected状态是前一个.then里面的回调Reject返回结果之后,promise对象从pending状态转换为Rejected
3、如何创建一个Promise? 直接使用promise的构造函数来创建promise对象,promise个构造函数中具有两个参数,resolve和reject,这两个参数 ...
Vue-cli和Express实现登录注册
一、创建项目结构前端Vue-cli
1vue create 项目名
后端Express
(1)安装express-generator
1npm install express-generator -g
(2) 创建express项目工程
1234express -e 项目名cd 项目名npm installnpm install express mongoose bcryptjs jsonwebtoken cors body-parser
二、创建数据库1、先创建集合,然后插入数据
2、创建文件夹db/index.js
12345678910111213141516171819202122232425262728//引入mongooseconst mongoose = require('mongoose')//禁用严格查询mongoose.set("strictQuery", false);/**** @param {链接成功回调} success* @param {链接失败回调} error*/modu ...
Promise精简版
一、为什么会出现promise?为什么会出现promise?
promise的出现是为了解决JavaScript中异步编程问题,特别是回调地狱(ajax嵌套),Ajax产生的回调地狱,就是当异步操作发生嵌套时,第二个Ajax会依赖于上一个Ajax的请求,前一个Ajax的请求未回来,它就不会执行,就会造成代码的拥堵。
为什么promise能够解决回调地狱?promise的底层原理是啥?
promise之所以能够解决回调地狱,主要是因为内部机制和链式调用机制,链式调用机制就是一个promise调用多个.then()方法,每个.then()方法都会返回一个新的Promise对象,并且这些.then()方法是同时执行的,不会相互阻塞。新的Promise对象的状态会根据前一个Promise的状态来决定自己的状态,这是Promise链的核心机制。当前一个Promise完成(fulfilled)时,下一个.then()方法会执行,如果前一个Promise被拒绝(rejected),则会执行相应的错误处理(通常是 .catch() 方法)。这是非常有用的,因为它使得代码可以按照逻辑顺序执行异步操作, ...
Promise详细版
一、前言:为什么会出现Promise?Promise的重要性我认为没有必要多讲,概括起来说就是五个字:必!须!得!掌!握!。
而且还要掌握透彻,在实际的使用中,有非常多的应用场景我们不能立即知道应该如何继续往下执行。
最常见的一个场景就是ajax请求,通俗来说,由于网速的不同,可能你得到返回值的时间也是不同的,
这个时候我们就需要等待,结果出来了之后才知道怎么样继续下去。
12345678910let xhr = new XMLHttpRequest();xhr.open('get', 'https://v0.yiketianqi.com/api?unescape=1&version=v61&appid=82294778&appsecret=4PKVFula&city=%E5%8C%97%E4%BA%AC');xhr.send();xhr.onreadystatechange = function () { if (xhr.readyState === 4) { if (xh ...
事件委派
概念 事件委派(Event Delegation)是一种 JavaScript 事件处理的优化技巧,它通过将事件处理程序绑定到父元素而不是每个子元素来降低事件处理的复杂性和提高性能。这个技巧的核心思想是利用事件冒泡机制,将事件捕获和处理的责任委托给父元素,然后根据事件的目标来确定如何处理事件。
个人理解
个人对于事件委派的理解,事件委派就是把事件加到父元素或者父容器上面,点击子元素或者子容器的时候,会触发事件冒泡,通过事件冒泡,来处理原本委派在父元素或者父容器上面的事件。
事件委派的常见使用
列表或表格的行点击: 当你有一个动态生成的列表或表格时,你可以将点击事件处理程序添加到容器元素上,然后通过事件委派来处理每行的点击事件。这样,无论你添加了多少行,都可以轻松地管理它们的点击事件。
12345<ul id="myList"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li></ul>
123456var myL ...
事件对象
概念事件对象是JavaScript中与事件相关的特殊对象,它包含有关事件的详细信息,例如事件类型、触发元素、鼠标位置等。事件对象通常在事件触发时由浏览器自动生成,并作为参数传递给事件处理函数。
个人对这个概念的理解当您在网页上点击按钮、移动鼠标、敲击键盘或执行其他交互操作时,浏览器会创建一个特殊的对象,这就是事件对象。这个对象包含有关发生的事件的所有信息。
事件对象就像一本小册子,里面记录了事件的一切。它告诉您发生的是什么类型的事件(例如,点击、鼠标移动、键盘按下等),事件发生在哪个元素上,以及事件的一些其他细节,比如鼠标的位置或按下的键。
举个例子,当您点击一个按钮时,浏览器会创建一个事件对象,这个对象会告诉您:“嘿,有人点击了这个按钮,按钮的名字是‘OK’,发生在页面的顶部,鼠标在按钮的坐标是(100, 50)”。
事件对象的属性和方法
type属性:表示事件的类型,例如”click”、”keydown”等。
target属性:表示触发事件的元素,即事件的目标元素。
currentTarget属性:表示当前正在执行事件处理程序的元素,通常是绑定了事件处理程序的元素。
eventPh ...
作用域和作用域链
概念
作用域(Scope):
作用域是定义变量和函数的可见性和生命周期的规则集合。在JavaScript中,有两种主要类型的作用域:
全局作用域(Global Scope):全局作用域是在整个JavaScript程序中可访问的最外层作用域。在浏览器中,全局作用域通常是指window对象。全局作用域中定义的变量和函数可以在整个程序中访问。
局部作用域(Local Scope):局部作用域是在函数内部定义的作用域,它仅在函数内部可访问。这意味着在函数外部无法访问函数内部的变量,但在函数内部可以访问外部作用域(包括全局作用域)的变量。
作用域链(Scope Chain):
作用域链是一种用于查找变量和函数的机制,它是由嵌套的作用域构成的链条。当在某个作用域中引用一个变量或函数时,JavaScript引擎会首先在当前作用域中查找,如果找不到,就会沿着作用域链向外层作用域查找,直到找到匹配的变量或函数或达到全局作用域为止。
这个过程确保了内部作用域可以访问外部作用域的变量,但外部作用域无法访问内部作用域的变量。这种嵌套的作用域链使得变量名可以在不同的作用域中重复使用而不会发生冲突。
作 ...