- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 JS中闭包的理解
什么是闭包?闭包其实就是一个函数,什么样的函数?能够访问另一个函数作用域中变量的函数。为什么要有闭包?在回答这个问题之前,我先提一个假设,我们都知道在内部的函数可以访问外部函数的变量,假设现在就是有这么一个需要,需要外部环境来访问函数的内部变量,怎么办?这时就要用到闭包,这就要牵扯到闭包的实现原理,即作用域链的工作。每当函数创建时,JS底层都会在其执行环境下创建一个作用域链,这个作用域...
2020-02-17 17:21:55
171
原创 JS中函数方法apply和call函数的工作原理
在探讨工作原理之前,我们必须要先思考一下这两个函数所起的作用:1)能够改变原函数的作用域(即:改变this值);2)能够为原函数传递参数,并且执行了原函数的代码得到想要的结果在搞清楚它们的作用之后,想要模拟工作原理需要解决的问题有什么?1)要为原函数绑定我们模拟的函数,这样原函数才能够直接调用2)改变作用域3)为原函数传递参数并执行原函数代码分析清楚了所要解决的问题后,一步...
2020-02-15 18:03:18
360
1
原创 C语言链表大集结
一张图来显示自己的链表系统创建链表的两种方式(头插和尾插);对链表的数据进行排序,我使用了冒泡排序和直接插入排序链表的逆转子链的判别在除了算法的实现以外,我主要是将每个函数抽象出来(包括数据的输入),设计好了每个函数的接口和返回值。由于功能较多,在这里就简述一下链表的是否对称的思想:...
2019-10-13 22:13:16
224
原创 C语言中的标准输入和输出函数
输入函数:scanf()、getchar()、gets()、fgets()输出函数:printf()、putchar()、puts();函数详解:putchar()函数和printf()puts()函数比较简单在这里不再赘述;getchar()函数:没有参数,是从输入缓冲区中读出一个字符;scanf(“格式控制字符串”,变量地址)工作原理:1、从输入缓冲区中按照...
2019-06-12 20:10:16
5709
1
原创 C语言数据类型
问题描述:1、数据类型内存问题2、数据类型转化问题问题解决:1、数据类型的内存问题首先我先把C语言基本数据类型的内存大小列在下方数据类型 所占字节数 char 1 short 2 int float 4 double 8 一个字节代表计算机8位二进制...
2019-05-29 20:22:00
305
1
原创 Vue实现Element-ui中Message组件
在我们初学组件时,只知道调用组件的时候通过import调用组件,然后显示的通过标签去调用,通过数据驱动来决定组件的显示与否,但是在看了element-ui的源码后,我才知道可以通过注册Vue原型,全局调用组件。接下来通过代码介绍原理同样,我们需要先写一个message.vue来规定message组件显示的内容<template> <transition name="...
2018-10-22 21:17:50
13001
6
原创 什么是前端路由?
路由分为前端路由和后端路由,但是后端路由如果是页面内容比较多,那么由于请求时间问题,就会导致页面出现暂时性的白页(也就是所谓的卡顿),那么什么是前端路由,前端路由说白了就是t通过hashchange事件监听url地址中锚点的变化,做到不更新页面的内容替换,替换相信大家都明白,同一个页面,内容改变而已,下面是前端路由通过js实现其原理;<!DOCTYPE html><...
2018-10-14 16:05:27
487
原创 vue、vuex、vue-router结合的电商网站
最近在简单的学习了vue之后,通过实践去理解vue的用法和它的优点。首先先简单介绍一下文件的目录components是公共的组件,里面包含cart.vue(购物车)、product.vue(list.vue文件要用到的产品公用组件)、productDetail.vue(产品详情页面)views文件是视图文件(就是list.vue主页文件),libs下的utils是一些公共函数,rout...
2018-09-05 21:09:20
4895
原创 Render函数封装一个可排序的表格组件
主要思路: 在v-table组件props接受两个参数,一个就是有多少列columns(数组),另一个就是data(数组),同时又简单的添加一个stripe是否给表格设置一个简单的样式.如下图:接下来就是render主要思想:在构造元素时,首先要构造标题(<th>),那么就要循环父组件传来的columns数组,不断的遍历里面的对象循环显示(但是在有排序功能的需要再...
2018-08-16 16:43:49
960
原创 通过Render函数认识v-model
在Vue中,我们都知道v-model是用来双向绑定数据的,那么它的具体工作原理是什么呢?其实v-model指令是一个prop:value和event:input组合使用的语法糖,下面是通过render函数实现的v-model效果createElement 中的domProps选项是DOM的属性,代表我创造的input输入框value值的来源, ...
2018-08-13 16:52:25
9305
原创 Vue开源库iview中折叠面板
首先,整个Collapse组件统一由collapse.vue管理,它的模板中包含一个插槽,给每一个面板提供空间,同时collapse.vue是整个组件的管理者,它将决定面板的显示状态(即:在collapse.vue文件中修改panel的数据)。 而panel.vue只需要通过数据来驱动DOM(这也正是vue的精髓所在),在panel.vue文件中只需要在标题的div上添加上一个点...
2018-08-13 11:58:17
6004
1
原创 node代码中的一些问题
1 、解决跨域访问 命令行 :npm install cors --save app.js代码中:var cors = require('cors'); app.use(cors());2、解决req.body undefined问题: npm install body-parser 安装依赖 app.js 代码中添加...
2018-04-24 14:55:10
170
原创 服务器的操作和连接
FileZillaClient 就是用来给服务器传数据的Xshell 5 是用来连接服务器的,还可以用git上的ssh直接连接服务器对于连接服务器的命令: cd /进入根目录 cd ..进入上级目录 cd ../..进入上两级目录 ll 是对当前目录的文件进行显示 vim 文件名 是直接对文件编辑 当进入到文件编辑界面时 按下i键 直接可以在远程编辑和改动 再次按...
2018-04-23 17:58:18
685
原创 事件冒泡
事件冒泡: 所谓的事件冒泡就是事件的传递,当子元素事件被人为触发之后,接下来就是自动触发它父级的事件,就这样一直向上传递,它带来的错误一般是不会被发现的,可能都 觉的是没有获取到HTML元素等问题造成的。处理方法: 首先是测试是否为事件冒泡导致的问题,我们就在子元素和父元素事件之间添加一个alert(1),将父元素事件
2017-12-18 11:51:18
170
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人