自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 javascript实现段落的收缩与展开

主要是使用-webkit-line-clamp这个属性进行限制显示行数,通过计算文字在标签内的显示高度来计算当前文字行数,再与需要限制的行数进行对比,来确定是否显示代码如下:<!--Created by lmj on 2017/8/10.--><!DOCTYPE html><html><head><meta charset="utf...

2019-06-26 20:28:56 647

原创 Web前端常用的十种技术

Web前端常用的十种技术Web前端应用十种常用技术,随着JS与XHTML的应用普及,越来越多的web界面应用技术出现在网站上,比如我们常见的日历控件,搜索下拉框等,这些web界面应用技术大大的丰富了网站的表现形式,本文将为您精心推荐十种最常见的web界面应用技术。Web应用程序的界面设计,其核心就是网页设计 ,但它的重点主要是在功能方面。要超越桌面应用程序, Web应用程序必须提供简单、直观和...

2019-06-26 16:42:23 12098

原创 TDD(测试驱动开发)死了吗?

01、前言很早之前,曾在网络上见到过 TDD 这 3 个大写的英文字母,它是 Test Driven Development 这三个单词的缩写,也就是“测试驱动开发”的意思——听起来很不错的一种理念。其理念主要是确保两件事:确保所有的需求都能被照顾到。在代码不断增加和重构的过程中,可以检查所有的功能是否正确。但后来很长一段时间里,都没再听过 TDD 的消息。有人说,TDD 已经死了,给出...

2019-06-26 16:17:10 94

原创 vue视图不更新情况

我们有时会会在处理vue项目的时候,遇到数据变化了,但是视图并没有实时渲染的情况vue视图为什么不渲染页面的原因当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是 ES5 中一个无法 s...

2019-06-25 22:09:09 2294

原创 JQuery:介绍、安装、选择器、属性操作、动画

jQuery详细内容1.JQuery介绍jQuery是一个快速,小巧,功能丰富的JavaScript库。它通过易于使用的API在大量浏览器中运行,使得HTML文档遍历和操作,事件处理,动画和Ajax变得更加简单。通过多功能性和可扩展性的结合,jQuery改变了数百万人编写JavaScript的方式。操作: 获取节点元素对象,属性操作,样式操作,类名,节点的创建,删除,添加,替换2.JQu...

2019-06-25 19:34:57 121

原创 Ananiah ES6-Proxy,代理

proxy 代理 Es6 增强 对象和函数(方法)Proxy用于修改某些操作的默认行为,即对编程语言层面进行修改,属于“元编程”,Proxy意思为“代理”,即在访问对象之前建立一道“拦截”,任何访问该对象的操作之前都会通过这道“拦截”,即执行Proxy里面定义的方法。声明 Proxy 第一个大括号放对象体 第二个放预处理机制 get set applylet pro = new ...

2019-06-25 15:32:35 127

原创 前端项目代码加密教程

序  我们都知道,浏览器上是可以看到前端的html和js代码的,所以如果遇到隐私心比较强的老板,你就冷不丁的会接受到一个代码加密的需求,当接受到这个需求的时候你怎么完成?那我希望我的这篇博客可以帮助到你。首先,告诉你的老板,严格意义上的加密是不存在的,能够实现的只有对前端代码进行压缩混淆,增加阅读难度。本篇教程全篇描述的,就是对代码进行混淆的手段,从而满足老板提出的加密需求。为了保证本篇教...

2019-06-25 15:05:04 2935

原创 5 分钟即可掌握的 JavaScript 装饰者模式与 AOP

什么是装饰者模式当我们拍了一张照片准备发朋友圈时,许多小伙伴会选择给照片加上滤镜。同一张照片、不同的滤镜组合起来就会有不同的体验。这里实际上就应用了装饰者模式:是通过滤镜装饰了照片。在不改变对象(照片)的情况下动态的为其添加功能(滤镜)。需要注意的是:由于 JavaScript 语言动态的特性,我们很容易就能改变某个对象(JavaScript 中函数是一等公民)。但是我们要尽量避免直接改写某个...

2019-06-24 21:59:42 156

原创 前端Vue项目——初始化及导航栏

正文一、项目初始化  创建webpack模板项目如下所示:MacBook-Pro:PycharmProjects hqs$ vue init webpack luffy_project? Project name luffy_project? Project description A Vue.js project? Author hqs? Vue build standalone...

2019-06-24 21:08:19 9870 2

原创 新手秒懂 - 作用域 & 作用域链

前言根据上篇关于 新手秒懂 - 高逼格解释变量提升 的文章中说明了,在生成执行上下文的创建阶段,生成变量对象后会建立作用域链。那我们接下里就看看作用域和作用域链到底是个啥子玩意。作用域作用域是一套规则, 用于确定在何处以及如何查找变量(标识符)。(说白了就是你写代码的那块旮旯里,来确定你之后怎么查找变量,简单粗暴。。)词法作用域 & 动态作用域词法作用域: 函数的作用域在函数定...

2019-06-24 14:42:49 175

原创 3 小时前发布 原生JS快速实现拖放(drag and drop)效果

拖放是很常见的一种交互效果,很多时候我们都会借助于第三方的控件来实现,其实用原生js实现起来也非常的方便。接下来我们就用原生js和css快速实现这样的拖放效果:HTMLHTML的内容很简单,就是五个空的容器和一个可以被拖拽的元素:html:<body> <div class="droppable"> <div class="draggable" ...

2019-06-22 21:50:35 412

原创 CSS改变鼠标样式(图片)

如果你想让你的网站看起来更酷炫,可以改变鼠标样式,用你喜欢的图片来代替。下面就来介绍下步骤方法:首页把鼠标图标格式转换成.ico格式,大小为32*32转换格式网址为:https://www.easyicon.net/covert/然后在CSS样式中增加代码:*{ cursor:url(../images/shubiao.ico),auto;}大功告成啦~~~说明:图...

2019-06-22 14:54:35 9029 1

原创 TypeScript 中如何继承 Error 类

在 JavaScript 中很多时候都需要自定义错误,尤其是开发 Node.js 应用的时候。 比如一个典型的网站服务器可能需要有 NetworkError, DatabaseError, UnauthorizedError 等。 我们希望这些类都拥有 Error 的特性:有错误消息、有调用栈、有方便打印的 toString 等。 最直观的实现方式便是 继承 Error 类。 但考虑 TypeSc...

2019-06-21 20:44:06 2207

原创 javascript 常见判断

对象的字符串表示形式。var toString = Object.prototype.toString;isString判断给定的值是否为字符串类型。如果是范围true,否则返回false。function isString(val) { return typeof val === 'string';}isNumber判断给定的值是否为数字类型。如果是范围true,否则返回f...

2019-06-21 14:52:15 4135

原创 JavaScript设计模式:单例模式

单例模式:限制类实例化次数只能一次,一个类只有一个实例,并提供全局访问点。(归属创建型设计模式)模式特点类只有一个实例全局可访问该实例自行实例化(主动实例化)可推迟初始化,即延迟执行(与静态类/对象的区别)实现方式实现方式:使用一个变量存储类实例对象(值初始为 null/undefined)。进行类实例化时,判断类实例对象是否存在,存在则返回该实例,不存在则创建类实例后返...

2019-06-20 21:37:14 123

原创 Vue 页面权限控制和登陆验证

页面权限控制页面权限控制是什么意思呢?就是一个网站有不同的角色,比如管理员和普通用户,要求不同的角色能访问的页面是不一样的。如果一个页面,有角色越权访问,这时就得做出限制了。Vue 动态添加路由及生成菜单这是我写过的一篇文章,通过动态添加路由和菜单来做控制,不能访问的页面不添加到路由表里,这是其中一种办法。另一种办法就是所有的页面都在路由表里,只是在访问的时候要判断一下角色权限。如果有权...

2019-06-20 15:56:25 1662

原创 箭头函数中的this究竟是什么鬼?

摘要: 箭头函数极大地简化了this的取值规则。普通函数与箭头函数普通函数指的是用function定义的函数:var hello = function () { console.log("Hello, Fundebug!");}箭头函数指的是用=>定义的函数:var hello = () => { console.log("Hello, Fundebug!...

2019-06-19 20:44:28 927

原创 [译]送你43道JavaScript面试题

导读这两天的GitHub Trending repositories被一个名叫 javascript-questions的项目霸榜了,项目中记录了一些JavaScript题目。我大概从头到尾看了一遍,都是一些基础的题目,我大概花了半个小时(有些题很简单,可以一扫而过)把这些题做完了,虽然题目很简单,但是每道题都对应一个知识点,如果这个知识点你没有接触过,那肯定会做错,如果你接触过这些知识点,那...

2019-06-19 20:34:02 1707

原创 如何判断THIS指向?

什么是this?this是用来做什么的?这是首先我们必须知道的this它是js的一个关键字,用来指向某一个对象如何判断this指向?函数(方法)内一种以函数的方式调用(不带.)this指向window一种以方法的形式调用(函数名前面带.)this指向点前面的函数(方法)外,this指向windowthis指向的特列:1、自调用函数内的this都是window2、定时器的this指...

2019-06-18 15:04:39 792

转载 道路千万条,安全第一条——一次服务器被入侵的处理经过

容器为何自动停止?服务器为何操作卡顿?进程的神秘连接到底指向何处?发现——自动停止的容器某日发现部署在服务器上的一个容器被停掉了,开始以为是同事误操作停止或删除了。但登录服务器重新启动容器的时候发现一个奇怪的现象:容器启动后几秒钟便会自动停止。一般来说这种情况可能是容器本身有问题。但是查看容器日志并未得到任何错误信息,而且该容器镜像已在其它服务器稳定部署运行,应该不会有bug。所以...

2019-06-18 14:51:17 143

原创 究竟什么是前端脚手架?

2019-06-17 15:59:18 1765

原创 JS中数据结构与算法---排序算法(Sort Algorithm)实例详解

排序算法的介绍排序也称排序算法 (Sort Algorithm),排序是将 一组数据 , 依指定的顺序 进行 排列的过程 。排序的分类内部排序 : 指将需要处理的所有数据都加载 到 内部存储器(内存) 中进行排序。外部排序法: 数据量过大,无法全部加载到内 存中,需要借助 外部存储(文件等) 进行 排序。常见的排序算法分类算法的时间复杂度 度量一个程序(算法)执行时间的两...

2019-06-17 14:13:43 308

原创 visual studio 2019正式版安装简单教程

visual studio 2019 2019年4月2日发布正式版今天终于有时间安装了体验了一下,环境WIN10企业版固态硬盘+机械硬盘,原来安装有visual studio 2017 废话不说,直接上截图由于考虑到空间问题还是安装在了机械硬盘下,肯定没有固态启动速度快影响效率。下载速度还可以吧电信50M宽带,大约下载和安装40分钟左右,安装选择上我也没有全部安装,只安装了LINUX C+...

2019-06-14 19:11:27 52858 2

原创 JavaScript错误处理

一.错误分类1. 语法错误也称为解析错误,发生在传统编程语言的编译时,在JavaScript中发生在解释时,这些错误是由代码中的意外字符直接引起的,然后就不能直接编译/解释,eg,在一行代码因缺少右括号,产生了语法错误。发生语法错误时,就不能继续执行代码。在JavaScript中,只有在同一个线程中的代码会受语法错误的影响。在其他线程中的代码和其他外部引用的文件中的代码,如果不依赖于包含错误的...

2019-06-14 15:58:57 1172

原创 jQuery实现表格的增、删、改操作示例

本文实例讲述了jQuery实现表格的增、删、改操作。分享给大家供大家参考,具体如下:这里实现的是在jQuery中通过按钮的形式,对表格进行的一些基本操作,可以实现表格的增删改操作,并实现对鼠标事件监听,实现表格的高亮行操作。<head> <meta charset="UTF-8"> <title>www.jb51.net jQuery表格操作<...

2019-06-13 21:18:43 793

原创 图文详解vue框架安装步骤

vue安装首先第一步,安装javascript运行环境node.js,根据你系统是32位或64位安装文件如下图。第二步,安装Nodejs下的包管理器,打开windows命令窗口,输入“npm install -g cnpm --registry=https://registry.npm.taobao.org”命令安装。如下图所示。第三步,安装vue-cli脚手架构建工具,在windows命...

2019-06-13 21:07:10 2198

原创 CSS3移动端vw+rem不依赖JS实现响应式布局的方法

1、前言(1)vw/vh介绍在使用之前,我们先简单了解一下什么是vw和rem以及它们的作用,vw是css3出现的一个新单位,它是“view width”缩写,定义为把当前屏幕分成一百份,1vw即为屏幕的1%,与之对应的是vh,把高分成一百份,1vh即为屏幕高的1%,一般我们常用的vw单位来完成响应式开发(2)rem介绍rem是相对长度单位。相对于根元素(即html元素)font-size计...

2019-06-13 15:47:05 279

原创 详解NodeJS Https HSM双向认证实现

工作中需要建立一套HSM的HTTPS双向认证通道,即通过硬件加密机(Ukey)进行本地加密运算的HTTPS双向认证,和银行的UKEY认证类似。NodeJS可以利用openSSL的HSM plugin方式实现,但是需要编译C++,太麻烦,作者采用了利用Node Socket接口,纯JS自行实现Https/Http协议的方式实现具体实现可以参考如下 node-https-hsmTLS规范自然是参...

2019-06-12 19:07:01 963

原创 React 全自动数据表格组件——BodeGrid的实现思路

React 全自动数据表格组件——BodeGrid的实现思路表格是在后台管理系统中用的最频繁的组件之一,相关的功能有数据的新增和编辑、查询、排序、分页、自定义显示以及一些操作按钮。这篇文章主要介绍了React 全自动数据表格组件——BodeGrid ,需要的朋友可以参考下表格是在后台管理系统中用的最频繁的组件之一,相关的功能有数据的新增和编辑、查询、排序、分页、自定义显示以及一些操作按钮。我们...

2019-06-12 14:46:16 1264

原创 前端面试总结(算法篇)

问题:如何计算不规则容器积水量? 这是一道 Twitter 算法面试题,题目很好理解,就是求蓝色格子的数量:未积水容器积水容器我们先用最原始的方法来做,算每一列可蓄水量的和,而积水的充分必要条件是两边高中间低,那么每一列可蓄水的量是多少呢?我们假定该侧的左挡板的高度为 L(i),自身为M(i),右侧为R(i),蓄水量为V(i);//先写伪代码IF Min(L(i),M(i),R(...

2019-06-11 22:23:46 237

原创 五种JavaScript富文本编辑器,总有一款适合你

也许,你时常会遇到要开发基于Web的文本编辑器的情况。有时候,只需实现一个简约且轻量级的应用程序,不必有其他任何不必要的功能。而有时候,你的首要任务是保护用户的商业机密。在这样的情况下,如果想知道“背后发生了什么”,最好是从头开始创建应用程序。所幸,可采取的解决方案有很多。因此,总能找到一种工具,来创建符合用户需求和资金要求的在线文本编辑器。本文将简要介绍五个JavaScript富文本编辑器,...

2019-06-11 21:00:17 1510

原创 jQuery实现Ajax功能分析【与Flask后台交互】

本文实例讲述了jQuery实现Ajax功能。分享给大家供大家参考,具体如下:jQuery 是一个小型的 JavaScript 库,它通常被用来简化 DOM 和 JavaScript 操作。通过在服务器和客户端之间交换 JSON 数据是使得 Web 应用动态化的完美方式。JSON 本身是一个很清量级的数据传输格式,非常近似于 Python 的原始数据类型 (数字、字符串、字典和链表等),这一数据...

2019-06-11 15:49:49 388

原创 网页中内容禁止选择、复制、右键的实现方法

平时浏览网页经常有一些网站里的文本内容无法复制和选取,对我这种强迫症患者有时候是真的难受,今天就给大家讲讲实现方法实现起来其实很简单,只需要在网页中加入以下标签(注意是紧随body后):<body topmargin="0" oncontextmenu="return false" ondragstart="return false" onselectstart ="return f...

2019-06-11 15:08:41 1491 3

原创 Vue中的情侣属性$dispatch和$broadcast详解

$dispatch 和 $broadcast 作为一对情侣

2019-06-10 14:14:53 3784 1

原创 CSS 类名的问题详解

以下以数字开头的 CSS 类名不会生效:.1st{ color: red;}一个合法的 CSS 类名必需以下面其中之一作为开头:• 下划线 _•短横线 -•字母 a - z然后紧跟其他 _ , - 数字或字母。用正则表示,一个合法的 CSS 类名为:-?[_a-zA-Z]+[_a-zA-Z0-9-]*另,根据CSS 标准 中的描述,如果类名开头是短横线 - ,第...

2019-06-06 16:25:54 228

原创 css等高布局常用几种方式

等高布局的方式指在同一个父容器中,子元素高度相等的布局.从等高布局实现方式来说,又分为两类伪等高子元素高度差依然存在,只是视觉上给人感觉就是等高.真等高子元素高度相等先来看看伪等高实现方式通过负margin和Padding实现真等高实现方式•table•absoult•flex•grid•js伪等高之-负margin和padding主要利用负margin...

2019-06-06 16:07:21 354

原创 JavaScript中将值转换为字符串的5种方法

如果您关注Airbnb的样式指南,首选方法是使用“String()”它也是我使用的那个,因为它是最明确的 - 让其他人轻松地遵循你的代码的意图请记住,最好的代码不一定是最聪明的方式,它是最能将代码理解传达给他人的代码const value = 12345;// Concat Empty Stringvalue + '';// Template Strings`${value}`;/...

2019-06-06 15:22:00 5564

原创 JS根据json数组多个字段排序及json数组常用操作

js 根据json数组多个字段排序的实现代码如下所示:/**数组根据数组对象中的某个属性值进行排序的方法 * 使用例子:newArray.sort(sortByArr(['number'],false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序 * @param attr 排序的属性 ['name','sex'...],根据一个字段或者多个字段排序...

2019-06-06 15:00:25 2248

空空如也

空空如也

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

TA关注的人

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