- 博客(49)
- 收藏
- 关注
原创 JavaScript 动画库
动画能使我们以独特的方式讲述故事并传达情感和想法。这里有 30 个 JavaScript 动画库可供我们在今后的项目中使用。1、Greensock地址:https://greensock.com/用于构建适用于所有主流浏览器的高性能动画的 JavaScript 库。2、Velocity.js地址:http://velocityjs.org/Velocity 是一个轻量级动画引擎,其 API 与 jQuery 的 $.animate() 相同。3、Lax.js地址:https://github
2022-02-08 11:36:53
1483
翻译 命名CSS的东西真的很难
作者:伊桑•穆勒时间:09-02-14原文地址([Naming CSS Stuff Is Really Hard]-[Ethan Muller](https://sparkbox.com/foundry/naming_css_stuff_is_really_hard))这不是一篇关于CSS架构的文章。这篇文章也不是关于命名约定的。相反,让我们讨论一下所谓的元素。自己的名字。我们用来将样式块链接到它们所关联的元素的东西。十分之九的开发人员同意:命名是迄今为止编写CSS最困难的部分。这是因为我们无法预测
2022-01-26 09:40:40
348
原创 js空格删除
清除所有空格$('#t-content').html(HTMLDecode(res.data.content.replace(/\s/g,"")));清除某个字段后面$('#t-content').html(HTMLDecode(res.data.content.replace(/& /g, "&")));
2022-01-25 15:13:05
907
原创 前端监听扫码枪扫条形码操作
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Do
2021-08-18 09:05:13
1885
原创 腾讯云播放器TcPlayer实现网络直播
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>直播</title> <script src="https://imgcache.qq.com/open/qcloud/video/vcplayer/TcPlayer-2.3.3.js" charset="utf-8"></script> <link
2021-08-10 17:35:59
1415
原创 video.js 播放hls直播视频(.m3u8)谷歌浏览器
video.js 播放hls直播视频(.m3u8)谷歌浏览器<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>videojs视频播放DEMO</title> <link href="https://cdn.bootcss.com/video.js/6.3.3/video-js.min.css" rel="styles
2021-08-09 13:51:55
1782
原创 问题解决:JSON parse error: syntax error, expect {, actual error, pos 0, fastjson-version 1.2.58;
报错内容:org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: syntax error, expect {, actual error, pos 0, fastjson-version 1.2.58; nested exception is com.alibaba.fastjson.JSONException: syntax error, expect {, actual error,
2021-05-12 11:09:34
13226
原创 简单聊聊——闭包
闭包的定义在了解闭包之前,我们首先要搞懂JavaScript的变量作用域的一些问题。变量作用域无非就是两种:全局作用域(全局变量)局部作用域(局部变量)用于 JavaScript语言 特殊之处在于:函数内部可以直接访问全局变量(var / const 定义的变量);另一方面,函数内部无法让外部使用。所以,当我们外部需要使用函数内部定义的变量时,就需要用到“闭包”在函数内部再定义一个函数function f1(){ var n = 99; function f2(){ co
2021-03-26 20:29:22
182
原创 从浏览器地址输入URL到页面显示的步骤
从浏览器地址输入URL到页面显示的步骤浏览器根据输入请求的URL交给DNS(域名服务器)进行域名解析,找到真实的IP地址,向服务器发起请求;服务器得到 IP 地址,交给后台进行处理后返回数据,浏览器接收文件(HTML、CSS、JS、图像等文件);浏览器对加载到的各种资源进行语法解析,建立相应的内部数据结构;载入解析到的资源文件,渲染页面,完成页面的加载。...
2021-03-26 20:08:56
226
原创 简单聊聊—mixin混入
mixin 为了减少重复的代码Mixin是一种扩展收集功能的方式,能提高代码的复用率。在javascript中,原型可以继承于其它对象的原型,并且可以为任意数量的实例定义属性。可以利用这一点来促进函数的复用。下面一段代码就是将一些可以被复用的代码利用underscore.js里的_.extend对原型扩展,以实现高复用。我们可以将混入的内容抽离出来单独放到一个JS文件中使用混入中 的方法mixins 选项接收一个混入对象的数组。这些混入对象可以像正常的实例对象一样包含实例选项,这些选项将会被合
2020-12-18 09:35:39
202
原创 (JavaScript版)LeetCode刷题笔记-1
1、 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]var twoSum = function(nums, target) { let number = []; var
2020-12-13 20:58:15
380
2
原创 element ui文件上传
elementUI 本身就提供了 文件上传的方法 <el-upload class="upload-demo" ref="upload" name="file" accept="" :action="myaction" :on-preview="handlePreview" :before-upload="updateFileName"
2020-12-05 09:46:41
3897
1
原创 JavaScript中this的指向问题
函数 与 thisthis 是一个特殊的对象,它在标准函数和箭头函数中有不同的行为。在标准函数中,this引用的是把函数当成方法调用的上下文对象,这时候通常称其为this值(在网页的全局上下文中调用函数时,this指向Windows)。 window.color = 'red'; let obj = { color : 'blue' } function sayColor(){ console.log(this.color) } sayColor();
2020-11-20 10:05:49
290
原创 ES6语法入门
1、ES6语法补充(1)let / var事实上 var 的设计可以看做JavaScript 语言设计上的错误,但这种错误多半不能修复和移除,以为需要向后兼容;十年前 Brenda Eich大神 就决定了 修复了这个问题,于是添加了一个新的关键字:let我们可以把 let 看做 var 的替代品,更完美的var。块级作用域作用域:变量可用的范围。相当于java中的局部变量。过去的 var 相当于是java中的全局变量ES5之前因为没有 if 和 for 都没有块级作用域的概念,所以
2020-10-30 10:37:07
318
原创 Vue.js(九)——计算属性
计算属性computed在模板中可以直接通过插值语句显示一些data数据但是我们在某些情况下,我们可能需要对数据进行一些转化再进行显示,或者将多个数据结合起来进行显示比如我们有firstName 和 lastName 两个变量,我们需要显示完整的名称但是我们需要多个地方显示完整名称,我们就需要写多个{{firstName}} 和 {{lastName}}计算属性是写在实例的computed选项中计算属性本质就是属性==>后面是对象基本使用<div id="app">
2020-10-29 10:09:29
319
原创 Vue.js(八)——实例的生命周期
什么是生命周期:从Vue实例的创建、运行、到销毁的期间,总是伴随着各种各样的事件,这些事件,统称为生命周期!生命周期钩子: 就是生命周期事件的别名而已生命周期钩子 == 生命周期函数 == 生命周期事件主要的生命周期函数分类:创建期间的生命周期函数:beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好data 和 methods属性created:实例已经在内存中创建OK,此时data和methods 已经创建OK ,此时还没有开始编译模板before..
2020-10-29 09:36:06
185
原创 Vue.js(七)——钩子函数
1、钩子函数钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。钩子函数: 1、是个函数,在系统消息触发时被系统调用 2、不是用户自己触发的一个指令定义对象可以提供如下几个钩子函数 (均为可选):bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。inserted:被绑定元素插入(加载)父节点时调用 (仅
2020-10-29 08:49:19
1029
原创 Vue.js(六)——自定义指令
1、自定义全局指令注意:在Vue.js中所有的指令,在调用的时候,都以v-开头除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令。注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。定义//自定义全局指令 ==> 获取全局焦点//Vue.directive() 自定义全局指令//参数一:指令名称。注意:定义的时候 指令的名称前面不需要加v-前缀,
2020-10-28 09:50:27
325
原创 Vue.js(五)——自定义按键修饰符
自定义按键修饰符按键修饰符在监听键盘事件时,我们经常需要检查详细的按键。Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:<!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` --><input v-on:keyup.enter="submit">你可以直接将 KeyboardEvent.key 暴露的任意有效按键名转换为 kebab-case 来作为修饰符。<input v-on:keyup.page-down="onPa
2020-10-28 09:19:39
373
原创 Vue.js(四)——过滤器
1、过滤器概念:Vue.js允许你自定义过滤器,可被用作一些常见的文本格式化。过滤器可以用在两个地方:mustache插值和v-bind表达式。过滤器应该被添加在JavaScript表达式的尾部,由管道符指示全局过滤器所有的VM实例都可以使用的过滤器 //定义语法 //过滤器中的function,第一个参数data是规定死了,永远是管道符前面传递过来的data数据 //可以有多个参数 Vue.filter('过滤器的名称',function(data){
2020-10-28 09:13:35
120
原创 Vue.js(三)——样式的使用
1、在vue中使用class样式1.1、数组 <style> .red{ color: #FF0000; } .thin{ font-weight: 200; } .italic{ font-style: italic; } .active{ letter-spacing: 0.5em; } </style><h1 :class="['red','thin']">这是一个h1</h1>1.2、
2020-10-28 08:27:54
638
原创 Vue.js(二)——指令
基本指令1、v-cloak使用v-cloak能够解决插值表达式闪烁问题。 <style> [v-cloak]{ display: none; } </style> <body> <div id="app"> <!-- 使用v-cloak能够解决插值表达式闪烁问题 --> <p v-cloak>++++++{{ msg }}---------</p> </div> &
2020-10-26 17:06:32
238
原创 Vue.js(一)——发展背景与简介
这一章节主要介绍Vue前的网站开发现状以及Vue的介绍1、网站交互和开发方式1.1、网站交互方式的发展经典的多页面==> 交互方式前后端融合在一起,开发和维护效率方式差用户体验一般,点击刷新跳转,等待时间长每个页面都需要重新加载有利于SEO搜索引擎搜索,蜘蛛会爬连接现代式的单页面==> 所有的交互都是在一个页面,不存在刷新开发方式好,采用前后端分离的开发模式服务端不关心界面,只关心数据客户端不关心数据库和数据操作,只关心通过接口拿到的数.
2020-10-26 15:17:18
4059
原创 Swagger与SpringBoot整合
1、简介后端时代:前端只用管理静态页面 ==> 后端:模板引擎,如Jsp=> 后端是主力前后端分离时代后端 MVC控制层服务层数据访问层前端 MVVM前端控制层视图层Vue + SpringBoot ==> 主流技术栈前后端如何交互 ==> API前后端相对独立,松耦合;可以部署在不同的服务器上;交互问题前后端集成联调的时候无法做到及时协商。尽早解决,最终导致问题集中爆发解决方案指定Schema[计划提纲],实时更新最
2020-10-25 12:32:31
3811
原创 Spring Boot学习笔记(三)
十、SpringSecuritysecurity——安全web开发中,安全第一~过滤器,拦截器功能性需求做网站什么时候考虑安全?设计之初就要进行考虑漏洞,隐私泄露安全框架:shiro、SpringSecurity、认证和授权Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是保护基于spring的应用程序的事实标准。功能权限访问权限菜单权限简介SpringSecurity是针对Spring项目的安全框架,也是SpringBoot底层安全
2020-10-25 12:27:34
309
1
原创 Spring Boot学习笔记(二)
六、Thymeleaf模板引擎模板引擎的作用就是我们来写一个页面模板,比如有些值是动态的,我们写一些表达式。而这些值从哪里来呢?我们来组装一些数据,我们把这些数据找到。然后把这个模板和这个数据交给我们的模板引擎,模板引擎按照我们这个数据帮我们把这些表达式解析,解析成相对于的数据,填充到我们指定的位置,然后把这个数据最终生成一个我们想要的内容写出去,这就是我们这个模板引擎,不管是JSP 还是其他模板引擎,都是这个思想。不过,不同的模板引擎的语法存在差异,Springboot推荐使用Thymeleaf模板引
2020-10-25 12:20:45
302
原创 Spring Boot学习笔记(一)
SpringBootSpring 是一个开源框架,作者Rod Johnson目的是为了解决企业级应用开发的复杂性而创建的,简化开发Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下四种关键策略1、基于POJO的轻量级和最小入侵性编程2、通过IOC,依懒注入(DI)和面向接口编程实现松耦合3、面向切面(AOP)和惯例进行声明式编程;4、通过切面和模板减少样式代码零、什么是SpringbootSpringboot 可以简单的认为是一个Javaweb开
2020-10-25 12:03:44
876
4
原创 SpringMVC学习笔记(二)
6、数据处理6.1、处理提交数据1、提交的域名名称和处理方法的参数名一致提交数据:http://localhost:8000/add?name=lsw处理方法: @RequestMapping("/t1") public String test1(String name, Model model){ //接收前端参数 System.out.println("接收的参数为:"+name); //将返回的结果传递给前端 model
2020-10-17 23:10:22
214
1
原创 SpringMVC学习笔记(一)
零、什么是MVC模型(Dao+Service)、视图(JSP)、控制器(Servlet)是一种软件设计规范将业务、逻辑、数据进行分离。Model(模型):数据模型、包含数据和行为,可以认为是领域模型或者JavaBean组件,不过现在一般表示为:Value Object(数据Dao)和服务层(行为Service)。也就是提供了子模型数据查询和模型数据状态的更新等功能,包括数据和业务。前端 数据传输 实体类View(视图):负责进行模型展示,一般就是我们见到的用户界面,客户想看到的东西Contro
2020-10-17 23:06:41
508
2
原创 Spring学习笔记(四)
9、使用java的方式配置Spring@Configuration【涉及到底层的关系】我们现在要完全不使用Spring的xml配置了,全权交给 Java 来做JavaConfig 是 Spring的一个子项目,在Spring4 之后,他成为了一个核心功能。实体类//@Component//这个注解的意思,就是说明这个类被Spring接管了,注册到容器中public class User { private String name; public String getName
2020-09-27 19:18:49
359
原创 Spring学习笔记(三)
7、Bean的自动装配自动装配是 Spring 满足 bean 依赖的一种方式!Spring 会在上下文中自动寻找,并自动给bean 装配属性!在Spring中有三种装配方式在 xml 中显示配置在 java 中显示配置隐式的自动装配bean7.1、测试1.环境搭建一个人 有两个宠物!7.2、ByName 自动装配会自动在容器上下文中查找,和自己对象 set 方法后面的值相对应的beanid。需要保证beanID是唯一的<bean id="cat" class="co
2020-09-25 14:09:19
216
原创 Spring学习笔记(二)
5、Spring配置5.1、别名如果添加了别名,我们也可以通过别名来获取这个对象 <alias name="user" alias="user2"/>别名是可以多个~!5.2、Bean配置id:bean的唯一标识符,也就是我们学的对象名class:bean 对象所对应的全限定名 包名+类名name : 起别名,而且name可以同时起多个别名<!-- id:bean的唯一标识符,也就是我们的对象名 class:bean 对象所对应的全限定名
2020-09-25 09:45:43
219
原创 Spring学习笔记(一)
Spring1.1、简介Spring:翻译为:春天------> 可以理解为是给软件行业带来了春天范围:任何 Java 应用目的:解决企业级服务器的开发历史2002 ,首次推出 Spring框架的雏形 Interface21框架2004年3月24号 ,正式发布 Spring 1.0Rod Johnson Spring Framework创始人。悉尼大学音乐学博士**Spring 的理念:**使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架!
2020-09-25 09:21:22
1754
原创 Mybatis框架(六)
十二、动态SQL什么是动态SQL:动态SQL是指 根据不同的条件生成不同的SQL语句如果你之前用过 JSTL 或任何基于类 XML 语言的文本处理器,你对动态 SQL 元素可能会感觉似曾相识。在 MyBatis 之前的版本中,需要花时间了解大量的元素。借助功能强大的基于 OGNL 的表达式,MyBatis 3 替换了之前的大部分元素,大大精简了元素种类,现在要学习的元素种类比原来的一半还要少。ifchoose (when, otherwise)trim (where, set)foreach
2020-09-06 19:25:47
139
原创 Mybatis框架(五)
十、多对一处理多对一多个学生对应一个老师对于学生而言:关联:多个学生关联一个老师【多对一】对于老师而言:集合:一个老师有很多学生【一对多】SqlCREATE TABLE `teacher` (`id` INT(10) NOT NULL,`name` VARCHAR(30) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VA
2020-09-05 16:41:27
804
原创 Mybatis框架(四)
五、ResultMap结果集映射解决 属性名 与 DB 字段名不一致的问题测试实体类字段不一致的情况public class User { private int id; private String name; private String password;}出现的问题解决方法1、起别名SQL原生语句起别名 <select id="getUserById" parameterType="Integer" resultMap="UserMap
2020-09-04 19:43:07
137
原创 Mybatis框架(三)
四、配置解析1、核心配置文件mybatis-config.xmlMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器
2020-09-04 15:31:53
167
原创 Mybatis框架(二)
Mapper.xml文件中的 字段属性解析<mapper namespace="com.lsw.dao.UserDao"> <select id="getListUser" resultType="com.lsw.pojo.User"> select * from user; </select></mapper>namespace:命名空间id:就是对应的 namespace 中的方法名;resultType:Sql语
2020-09-02 20:11:13
160
原创 Mybatis框架(一)
1、什么是框架框架是整个或者部分系统的可重用设计,表现为一组抽象的构件 以及 构件实例间的交互的方法。另外一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。简而言之,框架就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单的说就是使用别人搭好的舞台,开始你的表演。而且,框架一般是成熟的,不断升级的软件。他就是一套解决方案,不同的框架解决的是不同的问题。Mybatis——> 持久层 ,SpringMVC——>表像层2、什么是三
2020-09-02 19:18:48
263
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人