
Javascript
文章平均质量分 68
小小小小小亮
蓝翔毕业,致力于实现用挖掘机炒菜!~
展开
-
javascript和 jQuery中的AJAX,以及AJAX各种跨域技术
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。在本文中,我们讨论了AJAX技术,并且在此基础上讨论了AJAX的跨域方面的方法!原创 2016-03-02 10:04:58 · 1023 阅读 · 0 评论 -
js对象深复制的方法总结(包装对象,Date对象,正则对象)
简要介绍:在文章http://blog.youkuaiyun.com/liwusen/article/details/74190031中介绍了简单实现深复制的方法,但是这种方法不管是ES6还是ES5实现,都有同样的缺陷,就是只能实现特定的object的深度复制(比如数组和函数),不能实现包装对象Number,String , Boolean,以及Date对象,RegExp对象的复制。1 . 前文的方法...原创 2017-12-09 15:15:58 · 7628 阅读 · 0 评论 -
es5、promise、async以及generator中实现sleep的方法
简要介绍:在多线程编程中,sleep的作用是起到挂起的作用,使线程休眠,而js是单线程的,我们如何在js中模拟sleep的效果呢~ 也就是如何用同步的方式来处理异步。序:为什么不能用setTimeout来实现sleep的效果因为sleep要实现的是同步进程或者说同步程序的挂起,而setTimeout本身是异步的,我们来举个例子:function test(){ setTimeo...原创 2017-11-09 14:35:20 · 4161 阅读 · 0 评论 -
从javascript中Function.__proto__出发,再谈原型链
简要介绍:原型链的基础知识就不具体讲了,是js中继承的基础。下面我们来谈谈js中函数的原型链。1 . Function.proto(getPrototypeOf)是什么?获取一个对象的原型,在chrome中可以通过proto的形式,或者在ES6中可以通过Object.getPrototypeOf的形式。那么Function.proto是什么么?也就是说Function由什么对象继承而来...原创 2018-02-27 13:21:11 · 2500 阅读 · 1 评论 -
手把手教你实现json嵌套对象的范式化和反范式化
手把手教你实现json嵌套对象的范式化和反范式化在json对象嵌套比较复杂的情况下,可以将复杂的嵌套对象转化成范式化的数据。比如后端返回的json对象比较复杂,前端需要从复杂的json对象中提取数据然后呈现在页面上,复杂的json嵌套,使得前端展示的逻辑比较混乱。特别的,如果我们使用了flux或者redux等作为我们前端的状态管理机(state对象),通过控制state对象的变化,从而...原创 2018-06-11 21:05:04 · 3429 阅读 · 0 评论 -
响应式布局的常用解决方案对比(媒体查询、百分比、rem和vw/vh)
# 响应式布局的常用解决方案对比(媒体查询、百分比、rem和vw/vh)——简要介绍:前端开发中,静态网页通常需要适应不同分辨率的设备,常用的自适应解决方案包括媒体查询、百分比、rem和vw/vh等。本文从px单位出发,分析了px在移动端布局中的不足,接着介绍了几种不同的自适应解决方案。> * px和视口> * 媒体查询> * 百分比> *原创 2018-06-27 20:27:44 · 11321 阅读 · 3 评论 -
发布一个react组件——react-read-pdf,用于在移动端展示PDF文件
PC端的浏览器对于PDF文件的展示没有太大的问题,给定一个PDF的链接,就可以用浏览器默认的展示样式来展示和渲染PDF文件的内容。比如一个"http://www.baidu.com/test/pdf"。 如何在移动端展示这个文件。为了在移动端展示和渲染PDF文件的内容,本文在pdfjs的基础上实现了一个简单的react组件,用于展示和渲染PDF文件。将这个react组件,以npm包的形式发...原创 2018-10-25 16:05:49 · 5638 阅读 · 5 评论 -
从Mixin到hooks,谈谈对React16.7.0-alpha中即将引入的hooks的理解
为了实现分离业务逻辑代码,实现组件内部相关业务逻辑的复用,在React的迭代中针对类组件中的代码复用依次发布了Mixin、HOC、Render props等几个方案。此外,针对函数组件,在React v16.7.0-alpha 中提出了hooks的概念,在本身无状态的函数组件,引入独立的状态空间,也就是说在函数组件中,也可以引入类组件中的state和组件生命周期,使得函数组件变得丰富多彩起来...原创 2019-01-14 19:17:15 · 974 阅读 · 0 评论 -
在React项目中,如何优雅的优化长列表
对于较长的列表,比如1000个数组的数据结构,如果想要同时渲染这1000个数据,生成相应的1000个原生dom,我们知道原生的dom元素是很复杂的,如果长列表通过生成如此多的dom元素来实现,很可能使网页失去响应。 贯穿React核心的就是"virtual dom",我们同样的可以通过用虚拟列表的方式来优雅的优化长列表原生dom渲染长列表的缺陷虚拟列表优化长列表的原理通过rea...原创 2019-01-14 19:18:12 · 8561 阅读 · 1 评论 -
聊聊Typescript中的设计模式——装饰器篇(decorators)
随着Typescript的普及,在KOA2和nestjs等nodejs框架中经常看到类似于java spring中注解的写法。本文从装饰模式出发,聊聊Typescipt中的装饰器和注解。什么是装饰者模式Typescript中的装饰器Typescript中的注解总结原文地址在:https://github.com/forthealllight/blog/issues/33...原创 2019-01-14 19:19:00 · 5235 阅读 · 0 评论 -
在单页应用中,如何优雅的监听url的变化
单页应用的原理从早起的根据url的hash变化,到根据H5的history的变化,实现无刷新条件下的页面重新渲染。那么在单页应用中是如何监听url的变化呢,本文将总结一下,如何在单页页面中优雅的监听url的变化。单页应用原理监听url中的hash变化监听通过history来改变url的事件replaceState和pushState行为的监听原文在我的博客中:https:...原创 2019-01-14 19:19:37 · 3593 阅读 · 0 评论 -
在单页应用中,如何优雅的上报前端性能数据
最近在做一个较为通用的前端性能监控平台,区别于前端异常监控,前端的性能监控主要需要上报和展示的是前端的性能数据,包括首页渲染时间、每个页面的白屏时间、每个页面所有资源的加载时间以及每一个页面中所以请求的响应时间等等。 本文的介绍的是如何设计一个通用的jssdk,可以以较小的侵入性,自动上报前端的性能数据。主要采用的是Performance API以及sendBeacon方法等等。主要参考...原创 2019-01-14 19:20:07 · 2720 阅读 · 1 评论 -
javascript实现数据结构中的基本排序方法
简要介绍:基本排序方法,不外乎为冒泡法排序法,插入排序法,选择排序法,归并排序法和快速排序法。1.冒泡排序法 原理:比较任何相邻的项,如果第一个比第二个大,则交换它们,元素相步步上移,最大的元素依次沉底。//来一个冒泡排序function bobbleSort(myArr){ var length=myArr.length; for(var i=0;i<length;i++){原创 2017-06-15 14:30:08 · 390 阅读 · 0 评论 -
JS中的事件委托机制
简要介绍:基于JS的事件冒泡,可以以JS事件委托的方式,在父元素上,给父元素的子元素绑定事件,同时减少事件绑定的时间复杂度。1.传统的事件监听HTML结构:<ul id="ul"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li></ul>JS:window.onload=function(){原创 2017-01-03 17:10:18 · 4874 阅读 · 0 评论 -
javascript中的事件捕获机制,深入理解并区别IE和DOM中的事件模型
什么是事件捕获,什么是事件冒泡,对于JS高级程序设计一书中的某一章节,自己的理解记录!~原创 2016-03-03 10:54:17 · 1712 阅读 · 0 评论 -
javascript中的继承(JS基于原型链的继承),以及JS中的call和apply函数
继承是面向对象编程语言的一个重要特性,比如JAVA中,通过extend可以实现多继承,但是javascript中的继承方式跟JAVA中有很大的区别,JS中通过原型链的方式实现继承。原创 2016-03-07 20:40:20 · 1843 阅读 · 1 评论 -
javascript中数组(Array)对象的方法和字符串(String)对象的方法
主要总结了一下数组对象中的方法,以及字符串对象中的方法,以免自己混淆,特别是ES5后数组新增的一些方法原创 2016-03-08 21:24:16 · 1028 阅读 · 0 评论 -
在javascript中innerHTML和innerText的区别,以及innerHTML和innerText在各个版本浏览器的兼容性问题
innerHTML和innerText的区别,以及什么时候使用innerHTML,还有innerHTML和innerText的在各个版本的兼容性问题原创 2016-02-25 18:34:59 · 5231 阅读 · 1 评论 -
Javascript常用正则表达式以及JS常见正则表达式笔试题
JS正则表达式,在表单验证等方面都有应用,下面结合学习经过,整理一些初学者所需要掌握的一些基本JS正则规则:1.正则表达式基础语法练习(1)校验邮政编码(由六位组成)这里要注意,不能写成/\d{6}/,如果写成这样,那么校验内容为7位时,也能通过校验!我们同样也可以写成a=/\b\d{6}\b/;或者a=/^\d{6}\b/(2)原创 2016-02-21 13:56:57 · 8139 阅读 · 6 评论 -
对javascript中闭包概念的理解
对于JS闭包的一些个人的理解,记录一下原创 2016-02-27 20:29:22 · 939 阅读 · 0 评论 -
jQuery validate插件的主要功能
对于jQuery validate插件的一点使用心得吧!原创 2016-03-01 10:06:02 · 969 阅读 · 0 评论 -
javascript中的try catch异常捕获机制
1.跟java一样,javascript也具有try catch块,进行异常捕获的机制。 (1)典型的try catch语句 try{ } catch{ }原创 2016-06-11 20:09:19 · 7040 阅读 · 0 评论 -
javascript中的对象详解,以及对象和原型链
除了5种基本类型外,JS中剩下的就是对象(1)对象的定义:直接定义:var test={x:1,y:1}new方式创建:var test=new Object({x:1})Object.create方式:var test=Object.create({x:1})(2)对象上的赋值与取值举例:var test={ x:1, y:2 } 方法一:可以通过test[‘x原创 2016-06-11 21:13:51 · 2185 阅读 · 0 评论 -
javascript中的基本数据类型以及类型检测的几种方法
1.JS中有6种基本的数据类型,JS中的所有操作都是基于这五种基本类型得到的。 (1)Object 对象类型 (2)number 数字类型 (3)String 字符串类型 (4)null (5)underfined (6)boolean 布尔类型:true或者为falseI)JS中的数据类型转换(非严格模式下) “12”==12 // true 在非严格模式下,字符串原创 2016-06-11 15:06:48 · 2571 阅读 · 0 评论 -
javascript中的this,JS中this的几种基本指向
摘要:javascript中的this较为灵活,可以概括为一下四种类型1.this指向的是当前调用该函数的对象举例:function test(){ console.log(this)}//直接调用test()// 输出对象为window,在nodejs中输出为global2 this指向的是对象属性。举例来说:var test={x:1,y:2z:function(){ conso原创 2016-06-13 14:39:45 · 1620 阅读 · 0 评论 -
发布一个npm包,用于监控页面中的所有API请求的状态和结果
在前端监控系统中,或者其他场景下,如果我们需要监控当前页面下所有请求状态。可能通常请求下,我们会选择在请求的回调中去处理。这种做法的缺点就是会侵入具体的业务代码。在通常的监控中,监控部分的代码和业务部分的代码是分离的。此外,如果存在很多的请求需要被监听,通过侵入具体业务代码,为了减少代码的重复,也需要封装监听请求的逻辑。 本文通过monkey patches的方法实现了一个request-...原创 2019-01-20 15:17:20 · 958 阅读 · 0 评论