- 博客(15)
- 收藏
- 关注
原创 mcv 与mvvm 浅谈
我们先来了解一下什么是MVC。MVC:分别所指Model、View、Controller。 MVC为标准的设计模式,是官方推荐的权威的规范模式。视图(View):用户交互界面。控制器(Controller):调节Modle和View的交互。模型(Model):业务逻辑模型(并非数据模型)注意:这里大家容易误解Model,可能通常大家模型对象感觉非常的简单,就只是做数据模型,使Model的量级特别的轻,这样就加重了Controller对业务逻辑的处理,加重了Controller的量级。而根据Appl
2022-06-18 21:20:08 494
转载 react 生命周期浅谈
从出生到成长,最后到死亡,这个过程的时间可以理解为生命周期。React的生命周期同理也是这么一个过程。React的生命周期分为三个阶段:挂载期(也叫实例化期)、更新期(也叫存在期)、卸载期(也叫销毁期)。在每个周期中React都提供了一些钩子函数。注意react的版本对应的钩子函数。生命周期的描述如下:挂载期:一个组件实例初次被创建的过程。更新期:组件在创建后再次渲染的过程。卸载期:组件在使用完后被销毁的过程。组件的挂载:组件在首次创建后,进行第一次的渲染为挂载期。挂载期有的一些方法会被依次触发,
2022-06-18 20:30:07 895
原创 TCP三次握手精简
TCP三次握手简述TCP三次握手如图:第一次握手 客户主动(active open)去connect服务器,并且发送SYN 假设序列号为J, 服务器是被动打开(passive open)第二次握手 服务器在收到SYN后,它会发送一个SYN以及一个ACK(应答)给客户, ACK的序列号是 J+1表示是给SYN J的应答,新发送的SYN K 序列号是K第三次握手 客户在收到新SYN K, ACK J+1 后,也回应ACK K+1 以表示收到了, 然后两边就可以开始数据发送数据了...
2021-07-25 20:54:47 138
原创 vue项目优化
第三方插件的按需引入我们在项目中经常会需要引入第三方插件,如果我们直接引入整个插件,会导致项目的体积太大,我们可以借助 babel-plugin-component ,然后可以只引入需要的组件,以达到减小项目体积的目的。以下为项目中引入 element-ui 组件库为例:(1)首先,安装 babel-plugin-component :npm install babel-plugin-component -D(2)然后,将 .babelrc 修改为:{ "presets": [["es20.
2021-07-22 22:04:18 94
原创 健康160(宁远公司)面经(一面)
简单自我介绍你在学校的学习情况以及为什么选择web前端这个行业? 你们学的专业里面有什么专业课? 简单的介绍一下之前做的前端的项目。 有做过完整的项目吗? 你能简单的讲一下这个项目吗? 在做项目的过程中遇到哪些问题? 常用的html标签有哪些? 块级元素和行内元素有什么区别? 元素选择器有哪些? Css3新增伪类伪元素有哪些? Js怎么样获取页面元素的? 如果想要用添加一个事件怎么做? Htm5新增的特性?回答不太好 Js数据类型有哪些? 检测数据类型有哪些方法啊? Es6新增
2021-07-22 22:02:19 449
原创 说一下JS事件代理(也称事件委托)是什么,及实现原理?
JS事件代理就是通过给父级元素(例如:ul)绑定事件,不给子级元素(例如:li)绑定事件,然后当点击子级元素时,通过事件冒泡机制在其绑定的父元素上触发事件处理函数,主要目的是为了提升性能,因为我不用给每个子级元素绑定事件,只给父级元素绑定一次就好了,在原生js里面是通过event对象的targe属性实现var ul = document.querySelector("ul");ul.onclick = function(e){//e指event,事件对象var target = e.target
2021-07-19 19:51:41 486
原创 说一下vue组件通讯(即传值)有哪几种形式,分别是如何实现的
*说一下vue组件通讯(即传值)有哪几种形式,分别是如何实现的**答:vue组件通讯大致有三种:父传子,子传父,还有兄弟之间通讯*第一种:父传子:主要通过props来实现的**具体实现:父组件通过import引入子组件,并注册,在子组件标签上添加要传递的属性,子组件通过props接收,接收有两种形式一是通过数组形式[‘要接收的属性’ ],二是通过对象形式{ }来接收,对象形式可以设置要传递的数据类型和默认值,而数组只是简单的接收*第二种:子传父:主要通过$emit来实现**具体实现:子组
2021-07-19 08:45:47 124
原创 关于cookie和session的使用
#### 一、**cookie的使用****导入cookie**`var cookieParser = require('cookie-parser')``const app=express();``app.use(cookieParser('sxg'))`**设置cookie 模块**`res.cookie('username','adny',{maxAge:1000*60*60})``res.send('nihao ')`**path 设置cookie的路径不在这个路径拿不.
2021-07-18 18:30:02 80
原创 关于this的指向问题
this 指向问题:普通函数指向window , this 放在函数方法中指向函数调用者,计时器函数指向window箭头函数中this,指向不变,箭头函数中没有thisDOM事件中的this指向的是一个dom对象:btn.onclick=function(){ console.log(this)} //this指向 button构造函数中:构造函数是用来创建对象的,this只向创建出来的对象。 function F(){ this.name='小明'} 构造函数 let f =new F
2021-07-18 18:28:21 75
原创 如何是后台相应response返回json对象形式
// 方法1设置响应体数据的类型 json数据格式自动转换**xhr.responseType='json';console.log(xhr.response);方法2手动转换JSON.parse(xhr.response)<!--此时的xhr 返回的response为json对象的形式-->
2021-07-17 21:24:40 659
原创 关于跨域访问的问题
跨域访问是如何实现的跨域的含义:由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域 。1.通过jsonp实现跨域。利用了 script 不受同源策略的限制,这种方式主要是通过动态插入一个script标签。浏览器对script的资源引用没有同源限制,同时资源加载到页面后会立即执行缺点:只能 get 方式,易受到 XSS攻击2.CORS(Cross-Origin Resource Sharing),跨域资源共享 当使用XMLHttpRequest发送
2021-07-17 21:22:28 178
原创 关于AJAX重复请求问题
重复请求问题//abort方法 取消请求x.abort();类似于防抖,频繁触发的事件,每次事件执行前先取消掉计时器;设置一个开关为false 然后请求事件之后把开关设置为true;每次if判断 如果开关为true 则使用abort()方法取消请求,如果没有重复请求,等待判断后台相应的状态码 之后把开关设置为false ;以免下次请求的时候 if判断直接调用abort()let x = null ;let isSending =false;btns[0].onclick = f
2021-07-16 22:16:25 240
原创 webpack相关
webpack相关webpack版本号:4.41.5引入 VUE-LOADER 的插件:const VueLoaderPlugin=require('vue-loader/lib/plugin')<!--用于解析.vue文件-->引入html-webpack-plugin 生成html文件:<!--打包之后生成html文件-->const HtmlWebpackPlugin = require('html-webpack-plugin')引入clean-w
2021-07-16 12:55:24 154
原创 git相关命令
创建版本库git clone <克隆所需要的地址>git init 初始化本地仓库修改和提交git status 查收看状态git diff 查看所有变更git add. 跟踪所有改动过的文件git add <文件名>跟踪指定文件git mv <老的文件名><新的文件名>更名git rm <文件名> 移除文件git rm --cached <文件名> 停止跟踪文件但不删除git commit
2021-07-16 12:54:16 56
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人