JavaScript系列--八种【数组去重】方法的总结

2019-06-21
阅读 6 分钟
3.3k
思路:双层循环方法,使用的是循环嵌套,外层是arr,里层是res,如果arr[i]的值等于res[j]的值,则跳出当前循环,如果都不等于,说明元素唯一,这时候j的值等于res的长度,根据这个判断,将值添加res中。

计算机基础--http的基础整理和巩固

2019-06-21
阅读 5 分钟
1.1k
一、前言 主要包括:1、http基础:TCP/IP,TCP协议,IP协议,DNS协议,URI与URL; 2、http协议:http报文,http方法,http状态码,常见问题 名词解释: (1)HTTP(HyperText Transfer Protocol)超文本传输协议 (2)URL(Uniform Resource Locator)统一资源定位符 (3)URI(Uniform Resource Identifer)统一资源标...

方案设计--如何看待前端框架选型 ?

2019-06-20
阅读 2 分钟
2.8k
对于前端团队,可以实现企业受益最大化要点。 一、技术选型的策略 1、保证产品质量 (1)功能稳健:网页不白屏,不错位,不卡死;操作正常;数据精准。 (2)体验优秀:加载体验,交互体验,视觉体验,无障碍访问。 2、降低人力成本 (1)降低前期开发成本; (2)降低后期维护成本。 二、前端开发模式选择 开发模式:1...

数据可视化系列--svg入门基础(二)

2019-06-18
阅读 7 分钟
1.4k
接上一篇:数据可视化-svg入门基础(一),基础一主要是介绍了svg概念,元素样式设置等。 svg是(scalable vector graphic)伸缩矢量图像。 一、目录 (1)图形元素 (2)文字元素 (3)特殊元素 (4)滤镜元素 (5)渐变元素 二、图形元素 1、矩形 矩形使用<rect></rect>标签来进行绘制。 示例图: 代码: ...

数据可视化系列--svg入门基础(一)

2019-06-17
阅读 7 分钟
4.2k
一、前言 1、SVG(Scalable Vector Graphics)可伸缩矢量图形 特点: (1)使用xml格式来定义图形; (2)用来定义web上的使用的矢量图; (3)改变图像尺寸,图片质量不受损; (4)所有元素属性可以使用动画; (5)继承了W3C标准,在html中使用方式,html直接嵌入svg内容,或者直接引入svg文件。 / svg标签,这里的rect...

JavaScript系列--浅析原型链与继承

2019-06-14
阅读 7 分钟
2k
接口继承只继承方法签名,而实现继承则继承实际的方法。由于js中方法没有签名,在ECMAScript中无法实现接口继承。ECMAScript只支持实现继承,而且其 实现继承 主要是依靠原型链来实现的。

javascript系列--this指向和apply,call,bind三者的区别

2019-06-10
阅读 5 分钟
3.1k
this指向,apply,call,bind的区别是一个经典的面试问题,同时在项目中会经常使用到的原生的js方法。同时也是ES5中的众多坑的一个。ES6中可能会极大的避免了this产生的错误,有时候需要维护老的项目还是有必要了解一下this的指向和apply,call,bind三者的区别。

JavaScript 系列--JavaScript一些奇淫技巧的实现方法(三)数字取整,数组求和

2019-06-06
阅读 3 分钟
1.1k
一、前言 简短的sleep函数,获取时间戳:[链接] 数字格式化 1234567890 --> 1,234,567,890;argruments 对象(类数组)转换成数组: [链接] 今天我们来介绍一下数字取整,数组求和。 二、数字取整 1、普通版 const a = parseInt(2.33333);parseInt()方法是解析一个字符串参数,并返回一个指定基数的整数。这个就是我们...

JavaScript 系列--JavaScript一些奇淫技巧的实现方法(二)数字格式化;类数组转数组

2019-06-06
阅读 4 分钟
2.1k
一、前言 之前写了一篇文章:JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳 [链接] 介绍了sleep函数和获取时间戳的方法。接下来我们来介绍数字格式化1234567890 --> 1,234,567,890 二、数字格式化 1234567890 --> 1,234,567,890 1、普通版 {代码...} 优点:自我感觉比网上...

JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳

2019-05-31
阅读 4 分钟
1.9k
有些东西很好用,但是你未必知道;有些东西你可能用过,但是你未必知道原理。实现一个目的有多种途径,俗话说,条条大路通罗马。发散一下大家的思维以及拓展一下知识面。

javascript系列--javascript深入理解--作用域,作用域链,闭包的面试题解

2019-05-29
阅读 4 分钟
1.5k
一、概要 作用域和作用域链是js中非常重要的特性,关系到理解整个js体系,闭包是对作用域的延伸,其他语言也有闭包的特性。 那什么是作用域?作用域指的是一个变量和函数的作用范围。 1、js中函数内声明的所有变量在函数体内始终是可见的; 2、在ES6中有全局作用域和局部作用域,但是没有没有块级作用域(catch只在其内...

javascript深入理解-从作用域链理解闭包

2019-05-27
阅读 4 分钟
1.5k
那么什么是自由变量?自由变量就是在函数中使用,但既不是函数参数arguments,也不是函数的局部变量的变量,就是说另外一个函数作用域中的变量。

插件系列--简单水印(watermark-dom)和算法水印(频域方式图片合并)实现

2019-05-24
阅读 12 分钟
7.9k
插件github地址:[链接] 有详细的使用步骤,可以参考,不会用请留言,感觉可以,请给个星星。 一、简单水印(watermark-dom) 阿里巴巴内网的不可见水印用的是什么算法?据说月饼事件截图的那位员工也被开除了? 下面的只是简单的加一个很浅的水印,实现起来很容易。 1、看看水印的效果 随便找一个网站,比如就找掘金的...

javascript系列--javascript深入浅出图解作用域链和闭包

2019-05-23
阅读 4 分钟
1.2k
一、概要 对于闭包的定义(红宝书P178):闭包就是指有权访问另外一个函数的作用域中的变量的函数。 关键点: 1、闭包是一个函数 2、能够访问另外一个函数作用域中的变量 二、闭包特性 对于闭包有下面三个特性: 1、闭包可以访问当前函数以外的变量 function getOuter(){ var date = '815'; function getDate(str){ {代...

设计方案--浅析观察者模式和发布-订阅模式的区别

2019-05-23
阅读 3 分钟
1.9k
有时候面试的时候可能会被问到: 观察者模式和发布订阅模式的区别? 没有区别吧? 好像有区别吧? 我们首先来看一下“观察者模式”和“发布订阅模式” 一、观察者设计模式 理解设计模式在设计之初的是为了解决什么问题就能很好的在写代码中运用不同的设计模式。 所谓的观察者模式,其实为了实现松耦合(loosely coupled),...

songEagle开发系列:如何科学有效的让博客文章实时保存

2019-05-23
阅读 3 分钟
1.3k
如何实现文章的实时保存?一般写文章的写博客的网站都会有这个功能点,这样保证了用户在不小心退出的情况下数据的保存下来,这样的交互比较符合用户的使用心理学。对于用户来说这是一个非常实用的功能,作为一个博客来说,有这个还是不错的。哈哈^_^

javascript系列--javascript引擎执行的过程的理解--语法分析和预编译阶段

2019-05-21
阅读 5 分钟
783
js是一种非常灵活的语言,理解js引擎的执行过程对于我们学习js是非常有必要的。看了很多这方便文章,大多数是讲的是事件循环(event loop)或者变量提升的等,并没有全面分析其中的过程。所以觉得把这个js执行的详细过程整理一下,帮助更好的理解js。

npm系列--手把手教你用npm发布第一个npm包的详细教程

2019-05-20
阅读 2 分钟
1.4k
我们已经实现了路由的自动化构建,但是我们可以看到,一大串代码怼在里面。当然你也可以说,把它封装在一个JS文件里面,然后使用 require('./autoRoute.js') 给引入进来,那也行。但是,为什么不把心放大一点呢?比如说,我们把它做成一个npm包! 最初自己做的时候就是这种直接引入封装的JS文件里,可以参考: [链接] 一...

javascript系列--Object.assign实现浅拷贝的原理以及实现

2019-05-18
阅读 8 分钟
1.3k
一、前言 之前在前面一篇学习了赋值,浅拷贝和深拷贝。介绍了这三者的相关知识和区别。 传送门:[链接] 本文会介绍浅拷贝Object.assign()的实现原理,然后咱们试着实现一个浅拷贝。 二、浅拷贝Object.assign() 什么是浅拷贝?浅拷贝就是创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。 浅拷贝Object.assign...

JavaScript系列--浅析JavaScript解析赋值、浅拷贝和深拷贝的区别

2019-05-16
阅读 5 分钟
1.3k
一、赋值(Copy) 赋值是将某一数值或对象赋给某个变量的过程,分为: 1、基本数据类型:赋值,赋值之后两个变量互不影响 2、引用数据类型:赋址,两个变量具有相同的引用,指向同一个对象,相互之间有影响 对基本类型进行赋值操作,两个变量互不影响。 {代码...} 对引用类型进行赋址操作,两个变量指向同一个对象,改变...

JavaScript系列--类型判断的4种基本方法,研究jquery的type方法,空对象的检测方法,类数组对象

2019-05-16
阅读 9 分钟
1.6k
类型判断有时候真的头疼,但是一旦熟练使用就会觉得不过如此。初级的,会判断数字和字符串。中级的,会判断数组和对象。进阶的,会判断日期,正则,错误类型。高级的,会判断plainObject,空对象,window对象等等。

工具系列--简单水印(watermark-dom)和算法水印(频域方式图片合并)实现

2019-05-16
阅读 12 分钟
4.6k
一、简单水印(watermark-dom) 阿里巴巴内网的不可见水印用的是什么算法?据说月饼事件截图的那位员工也被开除了? 下面的只是简单的加一个很浅的水印,实现起来很容易。 1、看看水印的效果 随便找一个网站,比如就找掘金的个人首页, (1)F12检查模式, (2)在console里粘贴下面的代码, {代码...} (3)改变一下页...

javascript系列--正则表达式学习(二)位置匹配

2019-05-15
阅读 5 分钟
1.5k
文章首发于sau交流学习社区 一、前言 正则表达式是匹配模式,要么是匹配字符,要么匹配位置。 其实在开发中很少用到匹配位置,本篇文章主要包含: 二、什么是位置 位置:相邻字符之间的位置。 三、如何匹配位置 在ES5中,共有6个锚:^, $, b, B, (?=p), (?!p) 可视化形式: RegExp:/^$bB(?=a)(?!b)/g 3.1 ^和$ ^(脱字符...

happyChat开发系列:使用websocket.io实现双向通信的乐聊大前端开发

2019-04-16
阅读 4 分钟
2.5k
乐聊是一个自己用websocket写一个完整的应用,虽然功能比较欠缺,但是实现了基本的文字聊天,以及群聊,私聊,机器人聊天等功能。因为这个自己做了PC端,无线端(手机端),以及使用cordova打包成一个android的apk。实现了一个大前端的项目,虽然现在android端还是有点有问题,在修改bug。

正则表达式学习(一)--字符匹配

2019-03-29
阅读 6 分钟
3.3k
文章首发于sau交流学习社区 一、前言 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 正则里面的元字符太多了,没有系统性,可以分为: (1)字符匹配攻略 (2)位置匹配攻略 二、字符匹配 包括:两种模糊匹配,字符数组,量词,分支结构。 1.1两种模糊匹配 正则精确匹配乜有意义的,比如正则/saucxs/,只能匹配字...

ES6--浅析Promise内部结构

2019-03-26
阅读 17 分钟
1.7k
A promise represents the eventual result of an asynchronous operation.

javascript数组的常用算法解析

2019-03-18
阅读 5 分钟
960
一、不改变原数组,返回新数组(字符串) 1、concat() 连接两个或者多个数组,两边的原始数组都不会变化,返回的是被连接数组的一个副本。 2、join() 把数组中所有的元素放入到一个字符串中,返回字符串 {代码...} 3、slice() 从开始到结束(不包括结束)选择数组的一部分浅拷贝到一个新数组 {代码...} 4、map() 创建一个...

captcha.js一个生成验证码的插件,使用js和canvas生成

2019-03-08
阅读 7 分钟
3.5k
captcha.js是一个生成验证码的插件,使用js和canvas生成的,确保后端服务被暴力攻击,简单判断人机以及系统的安全性,体积小,功能多,支持配置。验证码插件内容,包含1、验证码插件-使用,2、验证码插件栗子,3、API介绍,4、支持浏览器。

彻底搞清楚浏览器渲染过程

2019-02-28
阅读 2 分钟
6.2k
一、概述 在分析浏览器的渲染过程之前,我们先了解一下什么是进程和线程: (1)什么是进程? 进程是CPU进行资源分配的基本单位 (2)什么是线程? 线程是CPU调度的最小单位,是建立在进程的基础上运行的单位,共享进程的内存空间。 那么我们可以得出结论: 1、进程是会占用系统资源;2、一个进程内可以存在一个或者多个...

彻底理解浏览器的缓存机制(http缓存机制)

2019-02-28
阅读 6 分钟
2.4k
浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的缓存标识进行的,所以在分析浏览器缓存机制之前,我们先使用图文简单介绍一下HTTP报文,文章首发地址:[链接]HTTP报文分为两种: