自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 【vue】vue响应式原理

vue2对对象类型的监听是通过Object.defineProperty实现的,给想要实现响应式的数据对象每个属性加上get,set方法,以实现数据劫持的操作。而对数组类型的监听是通过重写数组的方法实现的。模拟vue2响应式实现调用结果:addSex/deleteName/deleteName点击没反应,但实际数据有修改所以,虽然vue2在响应式数据有些问题,但也提出了解决方案,并不是一无是处。

2024-06-26 22:18:40 590

原创 【前端技巧】css篇

第一个参数为变量名称,第二个参数为初始值,默认为0。

2024-06-20 21:05:52 675

原创 【Effective Web】常见的css布局方式--三栏布局

由于table有自适应的特点,可以把需要自适应的middle的display设置为table-cell。如果要根据窗口自适应,加上一个很大的width,这里设置为2000px。需要把right块提前,同时把middle块加上margin: 0 110px (左右100px + 10px)如果按正常排列,效果会是这样,middle块会尽可能占空间,导致right元素被挤压到下一行。与flex布局类似,不过可以做二维的布局。

2024-06-17 23:23:10 306

原创 【Effective Web】常见的css居中方式

适用范围:容器中都是行内元素缺点:容器内所有元素都会居中,如果是文本描述需要左对齐,需要增加text-align:left覆盖。

2024-06-13 23:22:45 293

原创 【Effective Web】文件上传

文件的上传常见有三种方式:选择文件、拖拽和粘贴。选择文件通常使用表单,文件的数据在form.files中,form为表单元素;拖拽的方式,文件的数据在drop事件的event.dataTransfer.files中;粘贴的方式,文件的数据在paste事件的event.clipboardData.files中;在获取上传文件的数据后,使用fileReader来读取文件数据,展示在页面上,或者添加到formData上,通过接口传递给后台。

2024-03-30 17:15:39 742

原创 【Effective Web】页面优化

本文从避免页面卡顿,怎么加快页面打开速度,增强用户体验三方面入手,说明如何对页面进行优化。当然不止以上这些方式,这里只做抛砖引玉。更重要的是要站在使用者的角度去思考问题,这样才能做出用户满意的页面。

2024-03-29 00:44:50 663

原创 【Effective Web】html/css优化和技巧

html/css可以做到一些js的功能,减少js操作dom的高昂成本。

2024-03-26 23:19:33 2147

原创 【函数式编程】组合和管道

组合是函数式编程的一种特性,通过定义良好的小函数组合出复杂的函数,要比直接对原输入编写复杂函数省力许多。组合与管道的不同在于数据流方向不同。identity函数的原样返回可以用来对函数组合进行调试。

2024-03-22 00:31:32 387

原创 【函数式编程】柯里化和偏函数

柯里化函数将多参数函数转换为嵌套的单参数函数,可以用来固定较多参数函数的一部分,用于简洁代码,有时候只需要用到前面参数和最后一个参数,中间参数处于未知状态,这正是偏函数应用的地方。

2024-03-19 01:37:56 809

原创 【函数式编程】数组的函数式编程

数组的函数与遍历是分不开的,通过把遍历操作抽象出来,把对一个数组的操作转化成对每一个数组项的操作函数,能专注于问题本身,而一些基本的函数通过组合也可以实现复杂的操作,减少理解代码的成本。

2024-03-16 02:21:14 875

原创 【函数式编程】高阶函数

什么是高阶函数?一类以函数作为参数或把函数作为返回值的函数为什么需要高阶函数?将函数实现抽象,专注于预定的目标,而不关注底层逻辑。

2024-03-11 23:49:39 380

原创 【vue】弹窗组件的几种调用方式

本文仅代表个人对函数式编程的一些粗浅认识,仅供参考,如有错漏,欢迎指出。

2024-03-07 00:10:05 1645

原创 前端常见技巧实现--vue3

vue3增加了Suspense标签,可以用来做异步组件未完成前的加载动画遮挡层。这里使用promise模拟异步组件,实际开发中可能会使用接口。fallback是组件未渲染前的加载动画,也可以是静态页面。

2023-10-04 10:50:17 55 1

原创 前端常见功能实现-css

【代码】【无https://mp.csdn.net/mp_blog/manage/article?spm=1011.2124.3001.5298标题】

2023-10-01 17:59:57 48

原创 前端面试常见问题

前端常见面试题

2022-08-31 23:30:10 143 1

原创 前端技术总结--webpack

总结的MindMaster

2021-12-22 00:36:07 265

原创 前端技术总结(待完善)

一、前端框架AngularVue二、中台接口axios三、UI框架element-uiEchartbootstrap四、组件codemirrorAntlr4jsplumbdrage.js五、工程化webpackDocker

2021-12-19 17:02:28 74

原创 前端基础--前端路由

前端路由一、由来1、路由这个概念来源于后端,在SSR(Server Side Render, 服务端渲染)的时候,界面渲染的过程是这样的:(1)浏览器发出请求(2)服务器监听到 80 端口(或 443)有请求过来,并解析 url 路径(3)根据服务器的路由配置,返回相应信息(可以是 html 字串,也可以是 json 数据,图片等)(4)浏览器根据数据包的Content-Type来决定如何解析数据2 、Ajax(异步JavaScript和XML)的出现,使界面不用频繁刷新,随着技术的发展,简单

2021-11-29 00:29:43 689

原创 前端基础--数组

1 数组的长度数组的长度有属性length,值是这个数组的最大整数属性名+1const arr = []console.log(arr.length); // 0arr[1000] = trueconsole.log(arr.length); // 10012 数组的删除(1)使用delete缺点:删除的位置会有空缺const arr2 = [1, 2, 3, 4]delete arr2[2]console.log(arr2); // [ 1, 2, <1 empty item

2021-10-19 23:15:37 522

原创 前端技巧--记忆

记忆是主要用于加速程序计算的一种优化技术,使得函数避免重复计算之前被处理的输入,而返回已缓存的结果以斐波那契数列和阶乘为例定义一个函数,参数为一个数组和一个回调函数 var memoizer = function (memo, formule) { var recur = function (n) { var result = memo[n] if (typeof result !== 'number') {

2021-10-07 18:55:53 190

原创 算法--汉诺塔

使用递归解决汉诺塔问题JavaScript解法: // disc:移动的盘子 // src: 开始的柱子 // aux: 中间的柱子 // dst: 目标的柱子 var hanoi = function (disc, src, aux, dst) { if (disc > 0) { hanoi(disc - 1, src, dst, aux) document.writeln('Move disc

2021-10-05 17:58:31 62

原创 前端随笔--JavaScript

1、使用 || 来填充默认值,避免对象属性为空报错2、从undefined获取属性会导致TypeError异常,用&&运算符避免错误person && person.firstNameES6支持?.语法,优先使用?.person?.firstName3、使用hasOwnProperty检查对象独有的属性,这个函数不会检查原型链filght.hasOwnProperty(‘number’)4、for in对对象遍历,会列出所有属性,包括原型链上的属性,尽量避免fo

2021-09-29 23:02:22 80

原创 css基础--弹性布局

一、什么是弹性布局二、弹性布局的属性三、使用上的小技巧四、参考资料五、总结

2021-09-10 20:50:29 508

原创 ES7特性--async/await

一、asyncasync 是 ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的。async 关键字返回一个Promise对象,如果是正常函数,则会包装成一个函数返回 async function hello(data) { console.log(data); } hello('hello world') console.log(hello('hello world'));二、awaitawait 操作

2021-08-29 23:35:54 125

原创 ES6基础--Promise

ES6基础–Promise

2021-08-29 15:57:35 71

原创 javaScript基础--对象

对象1.对象方法 function Person() { this.name = "张三" this.sayName = function() { console.log("我的名字叫张三"); } } const person = new Person(); person.sayName();在类内部定义,需要新建实例2.类方法 Person.sayHi = function() {

2021-07-23 00:31:53 80 1

原创 javaScript基础--原型链

原型链一、什么是原型链1.什么是原型在JS构造函数中有一个属性prototype,叫做原型,这是给程序员使用的。在JS实例对象中有一个属性__proto__,它也是原型,这是供浏览器使用的,它不是标准的属性。 实例对象中的__proto__指向的是该实例对象中的构造函数中的prototype,构造函数中的prototype里面的属性或者方法,可以直接通过实例对象调用。二、原型链的定义三、原型链的原理四、原型链的应用五、补充六、总结...

2021-07-22 23:39:08 164 1

原创 如何把sql文件导入到phpMyadmin数据库

1.安装PHPMyadmin下载地址:https://www.phpmyadmin.net/2.打开phpMyadmin输入账号和密码,进入首页选择一个数据库,如果sql指定了数据库,可以先创建相应的数据库。点击菜单栏的导入选择你要导入的sql文件,点击执行,等待执行结束就可以了。...

2018-12-31 15:11:01 3756

原创 如何使用phpstudy配置ThinkPHP项目

使用phpstudy配置ThinkPHP项目

2018-12-31 15:00:41 6995 1

原创 ThinkPHP学习笔记之一

ThinkPHP框架数据库操作1.数据库设计//数据库设计 $data = [ 'nickname' =&gt; 'moriarty', 'age' =&gt; '23', 'sex' =&gt; '男' ];2.插入数据 //1.插入数据 //1.1 Db类插入,返回行数 $res = Db::name(...

2018-12-11 15:35:46 182

原创 php使用面对对象思想实现数据库简单的增删改查操作

php学习笔记使用Mysqli实现增删改查1.连接数据库 //连接数据库 //$database: 数据库名 public function connect($database) { $servername = &amp;amp;quot;localhost&amp;amp;quot;; $username = &amp;amp;quot;root&amp;amp;quot;; $password = &amp;amp;quot;

2018-12-10 15:59:15 783

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除