
随手笔记
文章平均质量分 70
一些随手的笔记
一个爱编程的男孩
你现在的压力是来源于你的不自律,你只是在假装努力,你知道自己该干什么不该干什么,可你就是控制不住你自己。你现在的行为跟不上自己的思想,所以你惶恐惧焦虑,你明知道你自己不去做这件事情的后果是什么,可你就是控制不住自己这副懒惰的躯体。这感觉就好像一个人拿一把刀,离你的眼睛越来越近越来越近越来越近,马上就扎到你的眼睛了,可是你宁愿干着急,却连动都不想动一下,你就眼睁睁的看着自己等死,所以你越来越害怕越来越惶恐,可是谁救得了你呢。所以只有管好自己,靠努力去战胜惶恐焦虑,加油!~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
day01-TS面试总结-TS随手笔记
TS的接口是什么意思?参照TS来解释它们。接口是在我们的应用程序中充当契约的结构。它定义了要遵循的类的语法,这意味着实现接口的类必须实现它的所有成员。它不能被实例化,但是可以被实现它的类对象引用。无论对象是否具有特定的结构,TypeScript编译器都使用接口进行类型检查(也称为“duck typing”鸭子类型或“结构化子类型”)语法:interface interface_name { // 字段声明 // 方法声明} 你如何理解Typ原创 2021-01-21 08:42:26 · 569 阅读 · 5 评论 -
使用Object.defineProperty进行数据劫持,实现响应式原理-剖析vue2.0
数据响应式是vue的特性之一,在面试过程中也会常常被问起响应式原理,现在就让我们深入了解一下vue2.0中如何实现响应式,下图是Vue2.0中对响应式原理的描述,其核心就是使用Object.defineProperty中的get/set进行数据劫持,虽然Vue3.0中使用Proxy(代理)去实现响应式,其实原理都差不多,在3.0中主要是使用Proxy的get和set实现响应式,如果理解defineProperty,Proxy也会很快理解的Object.defineProperty是什么?.原创 2021-01-11 16:24:07 · 62704 阅读 · 4 评论 -
(程序猿专属)1024-我用代码写成浪漫情话表白你
今天1024,程序员节!不祝你们节日快乐了,祝你们穿着拖鞋和裤衩去相亲吧!祝你们和甜蜜的爱情撞个满怀!一、“我是你的什么啊?”“你是我的bug啊。因为,我每时每刻都在找你呀。”二、“这么多需求,从哪个先做起?”“先做icon吧”“不是应该先做我的女朋友吗?”三、我一生都在等待,直到你闯进我的世界,我只想对你说:余生请多指教!四、自从遇见了你,就不停地想你。五、我一直在寻找,找到了你,便找到了整个世界。六、看看这个键盘缺少了什么字母?七、执子之.原创 2020-10-24 10:25:35 · 64344 阅读 · 3 评论 -
随手笔记24-组件通信、组件进阶
一、组件通信1.父子组件自定义属性和props来实现父子组件之间的数据通信第一步:创建两个组件,并建立父子关系第二步:在父组件上,使用子组件时,通过自定义属性来传递数据/src/component/parent.vue<子组件名 :自定义属性名="要传递的数据"></子组件名>第三步:在子组件中,需要用props来接收父组件传递的数据/src/components/child.vue<script>export default { props:['原创 2020-08-21 21:20:56 · 252 阅读 · 0 评论 -
随手笔记23-过滤器-过渡动画-组件-vue-cli脚手架
一、过滤器作用:是对页面中展示的数据进行处理。1.局部定义new Vue({ el: .... filters:{ 过滤器名称(形参){ 业务逻辑 return 处理结果; }, 过滤器名称N(形参){ 业务逻辑 return 处理结果; }, }})在挂载点内通过管道符“|”来使用定义好的过滤器<标签名>{{ 变量名 | 过滤器名称 }}</标签名>管道符左边的值会默认作为过滤器的第一个形参进行传递,然后在过滤原创 2020-08-21 21:15:12 · 454 阅读 · 2 评论 -
随手笔记22-修饰符-侦听器-计算属性-生命周期
一、修饰符1.按键修饰符keyup、keydown修饰符说明.left键盘左键.right键盘右键.up键盘上键.down键盘下键.enter键盘回车键.esc键盘esc键.delete键盘退格键.space键盘空格键输入框获取焦点后,对应的修饰符才会起作用2.表单元素修饰符(1).lazy不再进行实时数据双向绑定,直到遇到change事件才会进行数据的双向绑定(2).number强制的把用户输入的内容转换为原创 2020-08-21 21:11:37 · 228 阅读 · 0 评论 -
随手笔记21-列表渲染-响应式原理-数据更新后页面不重新渲染-表单元素双向绑定-修饰符
一、列表渲染(1)遍历数组<div v-for="item of arr">{{ item }}</div><script> new Vue({ el:"#app", data:{ arr:[ 1,2,3,4,5,6,7,8,9 ] } })</script>此时,item遍历名对是数组的每一个元素<div v-for="(item,index) of arr">{{index}}----{{ it原创 2020-08-21 21:02:17 · 370 阅读 · 0 评论 -
随手笔记20-vue基本使用-指令系统
一、侦听器(监听器)原创 2020-08-21 20:53:44 · 254 阅读 · 2 评论 -
随手笔记19-express生成器&crypto加密模块&cookie&session
一、express生成器通过应用生成器工具 express-generator 可以快速创建一个应用的骨架。1. 安装npm install -g express-generator2. 使用-h 参数可以列出所有可用的命令行参数:$ express -h Usage: express [options] [dir] Options: -h, --help 输出使用方法 --version 输出版本号 -e, --原创 2020-08-07 20:01:39 · 499 阅读 · 0 评论 -
随手笔记18-express中间件和ejs模板引擎
一、中间件1.关于中间件1.1什么是中间件?中间件就是一堆方法,可以接收客户端发来的请求、可以对请求做出响应,也可以将请求继续交给下一个中间件继续处理1.2中间件函数有两个参数 :callback(req,res) 路由的回调函数有三个参数:callback(req,res,next) 中间件函数app.use(path,callback)使用中间件,必须使用use方法,而且在使用中间件件是,一般需要携带next参数1.3 中间件用法path参数是可选的,默认: /原创 2020-08-05 20:07:15 · 370 阅读 · 2 评论 -
随手笔记17-node框架(express)
一、express是什么?Express是一个基于Node平台的web应用开发框架,它提供了一系列的强大特性,帮助你创建各种Web应用。可以使用 npm install express 命令进行下载。1. Express框架特性 - 提供了方便简洁的路由定义方式 - 对获取HTTP请求参数进行了简化处理 - 对模板引擎支持程度高,方便渲染动态HTML页面 - 提供了中间件机制有效控制HTTP请求 - 拥有大量第三方中间件对功能进行扩展二、如何使用express?1. 安装expre原创 2020-08-05 08:49:14 · 267 阅读 · 0 评论 -
随手笔记16-node搭建服务器和一些常见的模块
一、http模块1. 服务器搭建创建web服务器 // 引用系统模块 const http = require('http'); // 创建web服务器 const app = http.createServer(); // 当客户端发送请求的时候 app.on('request', (req, res) => { // 响应 res.end('<h1>hi, user</h1>'); }); // 监听3000端原创 2020-08-04 13:14:09 · 316 阅读 · 2 评论 -
随手笔记15-关于Promise-iterator-generator-async(ES6中解决异步编程的方案)
这里是参考阮一峰大佬编写的《ECMAScript 6 入门教程》进行部分总结一、promise对象1、Promise 的含义Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大2. 创建promise对象创建promise对象时,需要传递一个函数作为参数,作为参数需要传递两个回调函数,resolve、reject作为参数,这两个参数可以被调用resolve成功时的回调函数reject失败时的回调函数const promise = new .原创 2020-07-30 13:03:53 · 253 阅读 · 2 评论 -
随手笔记14-ES6语法
一、什么是ES6ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范。ES6 实际上是一个泛指,泛指 ES2015 及后续的版本二、ES6新增语法1. let关键字ES6中新增的用于声明变量的关键字。特点:具有块级作用域不存在变量提升暂时性死区 if (true) { let a = 10; } console.log(a) // a is not defined注意:使用let关键字声明的变量才具有块级原创 2020-07-25 15:46:43 · 199 阅读 · 0 评论 -
随手笔记13-移动端事件-本地存储
一、触屏事件1.触屏事件概述移动端浏览器兼容性较好,不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果,但是移动端也有自己独特的地方。比如触屏事件 touch(也称触摸事件),Android 和 IOS 都有。touch 对象代表一个触摸点。触摸点可能是一根手指,也可能是一根触摸笔。触屏事件可响应用户手指(或触控笔)对屏幕或者触控板操作。2.触摸事件对象(touchEvent)TouchEvent 是一类描述手指在触摸平面(触摸屏、触摸板等)的状态变化的事件。这类事件用于原创 2020-07-17 13:40:30 · 279 阅读 · 0 评论 -
随手笔记12-正则表达式-闭包-回调函数-严格模式
一、正则表达式二、闭包三、回调函数原创 2020-07-17 09:57:39 · 792 阅读 · 0 评论 -
随手笔记11-面向对象-对象创建的几种方法-继承
一、面向对象什么是对象二、对象的创建三、面向对象实例四、命名空间五、apply和call六、继承原创 2020-07-10 16:57:30 · 335 阅读 · 0 评论 -
随手笔记10-拖拽效果-碰撞检测-简单封装动画函数
思路:1.拖拽效果必须鼠标按下(mousedown),切鼠标移动(mousemove )执行代码,鼠标弹起(mouseup)解除事件2.鼠标的坐标减去 鼠标在盒子内的坐标, 才是拖拽目标真正要移动的位置3.鼠标移动和弹起事件如果加给小盒子,那么在快速移动鼠标的时候会无法解绑事件,所以为了用户体验度,把这两个事件加给文档(document)4.判断物体移动边界,小盒子最大移动距离=父元素(这里用当前窗口位置)-小盒子的宽高,然后分别判断他们最大的移动距离,针对边界值分别进行处理5.如果拖拽目标是i.原创 2020-07-09 08:45:14 · 244 阅读 · 0 评论 -
随手笔记09-事件高级部分(事件对象、事件流,阻止默认行为、事件委托)
一、事件函数二、事件对象事件发生后,跟事件相关的一系列信息数据的集合都放到这个对象里面,这个对象就是事件对象。比如:谁绑定了这个事件。鼠标触发事件的话,会得到鼠标的相关信息,如鼠标位置。键盘触发事件的话,会得到键盘的相关信息,如按了哪个键。1.事件对象的使用事件触发发生时就会产生事件对象,并且系统会以实参的形式传给事件处理函数。所以,在事件处理函数中声明1个形参用来接收事件对象。2.事件对象的兼容处理事件对象本身的获取存在兼容问题:标准浏览器中是浏览器给方法传递的参数,原创 2020-07-07 20:39:55 · 331 阅读 · 0 评论 -
随手笔记08-BOM操作,表单操作,body相关位置属性
一、表单操作变单元素的获取可以根据name属性获取表单元素<form action="./2.html" id="myForm"> <label for="">用户名:</label><input type="text" name="myName"><br> <label for="">密码:</label><input type="password" name="pwd"原创 2020-07-07 11:13:37 · 218 阅读 · 0 评论 -
随手笔记07-有关DOM的操作
一、DOM节点的获取1.DOM介绍(节点的介绍)Web浏览器在解析页面的时候,会将页面描绘为一个倒立的树状结构(DOM树), DOM树由节点构成一般地,节点至少拥有nodeType(节点类型)、nodeName(节点名称)和nodeValue(节点值)这三个基本属性。2.节点的种类:元素节点(标签) 属性节点 文本节点 注释节点…属性节点 nodeType 为1属性节点 nodeType 为2文本节点 nodeType 为3(文本节点包括文字、空格、换行等)实际开发中,原创 2020-07-04 16:30:54 · 183 阅读 · 0 评论 -
随手笔记06-有关数组的算法和方法
数组定义数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式。数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。引用类型:存储分两部分,在堆中保存数据,在栈中保存地址typeof 经常用来检测基本数据类型 检测引用类型时,结果object若想精确判断应用类型,instanceof 返回的是一个布尔型var arr=[];console.log(typeof arr);//object原创 2020-07-02 18:40:55 · 190 阅读 · 0 评论 -
随手笔记05-时间和字符串对象
前言:对象概念:在js中,一切内容都可以被抽象为对象。Array、Function、Date…如果想使用对象,需要new创建一个对象的实例。对象包含两部分内容:属性和方法时间对象1)Date();创建对象 new Date() —>创建一个日期对象的实例①若创建对象时不传递参数,new Date() —>获取当前时间日期对象②若创建对象时传递了时间格式的参数,---->创建指定日期时间格式的对象2)常见方法:①getFullYear()②getMont原创 2020-07-01 21:03:46 · 131 阅读 · 0 评论 -
随手笔记04-定时器和Math方法
定时器延迟执行 setTimeout()延迟指定时间之后执行代码(总共执行一次)间歇执行 setInterval()每隔固定时间执行一次语法:setTimeout(函数,时间(毫秒数))注意:1.window可以省略2.函数部分可以直接写函数,或者写函数名(不加小括号),或者采用字符串(‘函数名()’)三种形式,第三种不推荐使用。3.因为定时器有很多,所以我们经常给定时器辅助一个标识符,控制台输出标识符是1、2、3。。。停止定时器setTimeout和setInterv原创 2020-07-01 08:40:14 · 164 阅读 · 0 评论 -
随手笔记03-函数作用域与变量提升
作用域作用域概述通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。作用域也就是变量起作用的范围,js在(es6前)中的作用域有两种:全局作用域和局部作用域全局作用域作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件。局部作用域作用于函数内的代码环境,就是局部作用域。 因为跟函数有关系,所以也称为函数作用域。4.JS没有块级作用原创 2020-06-30 08:42:58 · 198 阅读 · 1 评论 -
随手笔记02-自定义属性
自定义属性的一些用法获取属性element.属性 获取属性值element.getAttribute(‘属性’);区别element.属性 获取内置属性值(元素本身自带的属性)element.getAttribute(‘属性’); 主要获得自定义属性<div id="demo" index="1" class="nav"></div> <script> var div = document.querySelector('div原创 2020-06-28 20:09:51 · 190 阅读 · 1 评论 -
随手笔记01-JS数据类型
随手笔记JavaScript为什么是一门弱类型语言?因为变量定义的时候是没有类型的,变量的类型是可变的JS数据类型一共分为六种,又可以分为两类基本数据类型数值型 number 特殊NaN字符串 string 引号引起来的,不分单双引布尔型 boolean true falsenull 空undefined 未定义,只声明未定义复杂数据类型(引用类型)数组 [ ]函数 Fuction对象 object日期对象 Date正则 RegExp…原创 2020-06-23 17:42:20 · 240 阅读 · 0 评论