3 2197

尚未进行身份认证

我要认证

前端菜鸟,一起学习

等级
TA的排名 3w+

TCP/IP(TCP传输控制协议)

1)基本知识TCP 协议的作用是:保证数据通信的完整性和可靠性,防止丢包。(可靠地协议,面向连接的协议)TCP和UDP在传输层TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。以太网协议解决了局域网的点对点通信。IP在网络层,IP 协议可以连接多个局域网。IP 协议定义了一套自己的地址规则,称为 IP 地址。它实现了路由功能,允许某个局域网的 A 主机,向...

2018-10-07 22:09:45

找到一个数组中相加为特定数值的两个元素

思路:将值变为另一组数组的key,将key变成值     每次循环的时候,target-nums[i]的值就是要寻找的值,而如果在一个数组中寻找该值,因为不知道该值的对应的key,所以没办法寻找,如果变成寻找key,就只需要判断数组有没有这个key就可以了function resultarr(nums,target){var arr=[];var exist=[];var l...

2018-10-07 09:44:37

把数组排序成最小的数(js)

思路:要使用字符串来处理,要找到一个排序规则,根据这个规则排成一个最小数比如:数组:[3,32,321]不能直接比较,应该比较332,323->332>323所以32<3将两个数字n,m连成字符串,nm>mn,n<mfunction minnumber(arr){var minarr=[];arr=arr.map(function(x){...

2018-10-04 23:39:27

模板引擎原理

1》模板概念通常是指嵌入某种动态编程语言代码的文本,数据和模板通过某种形式的结合可以变化出不同的结果,模板通常用来定义显示的形式,能够使数据展示更加丰富,而且容易维护2》模板的好处1)简化了html书写2)通过编程元素(比如循环和条件分支),对数据的展现更具有控制力3)分离数据与展现,使得展现的逻辑和效果更易维护3》模板引擎通过分析模板,将数据和模板结合在一起输出最后的...

2018-10-04 10:18:22

TCP流量控制与拥塞控制

1》流量控制1>流量控制:通过滑动窗口实现的(以字节为单位),管理两端的流量,以免会产生发送过快导致接收端溢出,或者因收端处理太快而浪费时间的状态。2>滑动窗口:TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节。发送窗口在连接建立时由双方商定,但在通信的过程中,发送窗口大小取决于接收端窗口大小和拥塞窗口大小(可增大或减少)3>滑动窗口的作用:提供TCP可...

2018-10-02 22:30:54

动态规划

动态规划:通常基于一个递推公式及一个或多个初始状态,当前子问题的解将由上一个子问题的解推出基本思想:要解决一个给定的问题,我们需要解决其不同部分(即解决子问题),再合并子问题的解以得出原问题的解,通常子问题非常相似,为此动态规划视图只解决每个子问题一次,从而减少计算量,一旦某个给定子问题的解已经算出来,则将其记忆储存,以便下次需要同一个子问题解值时直接查表1》斐波那契数列方法一:递归调...

2018-09-30 19:40:07

js精度问题(0.1+0.2;js浮点数双精度64位)

1》原因因为计算机内部的信息都是由二进制方式表示的,但由于某些浮点数没办法用二进制准确的表示出来也就带来了一系列问题将小数转换成二进制:整数部分:除2取余,若商不为0则继续对它除2,当商为0时则将所有余数逆序排序小数部分:乘2取整数部分,若小数不为0则继续乘2,知道小数部分为0将取出的整数位正序排序(若小数部分无法为0,根据有效位要求取得相应值)0.1的二进制:0.0 0011...

2018-09-30 11:16:53

求连续子数组中最大和

思路:动态规划遍历数组,遇到负的和则放弃之前的结果,重新积累,这期间保留最大值用max记录最终返回的最大和,用curmax记录累加值对于数值中一个数arr[i],若其左边的累加和非负,那么加上arr[i]判断此时的curmax是否大于max,若大于此时的max,则用max记录下来function FindGreateSum(arr){var len=arr.length;...

2018-09-30 08:28:18

http无状态

1》官方说法:1.协议对于事务处理没有记忆能力2.对同一个url请求没有上下文关系3.每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求时无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况4.服务器中没有保存客户端的状态,客户端必须每次带上自己的状态去请求服务器2》理解标准的http协议指的是不包括cookies,session...

2018-09-26 11:21:48

jq的插件

1>基本概念jq的插件分为类级别开发和对象级别开发,类级别开发在真实项目中几乎不用2>jQuery插件开发方式1)通过$.extend()来扩展jQuery相对简单,一般很少能够独立开发复杂插件,仅仅是在jQuery身上添加一个静态方法而已,我们通过$.extend()添加函数时直接通过$符号调用($.myfunction()),而不需要选中DOM元素($(“#elem...

2018-09-25 07:42:53

Ajax

1>概念AJAX是异步的 JavaScript 和 XML,它不是新的编程语言,它是一种新方法。2>过程浏览器让XHR跟浏览器要点数据-》浏览器接着干别的事-》XHR去向浏览器请求数据-》服务器返回数据给XHR-》XHR通知浏览器数据回来了-》浏览器收到XHR返回的数据渲染页面3>关于技术1)XHR:全称XMLHttpRequest,它是浏览器的内置对...

2018-09-24 10:47:03

封装addClass()和removeClass()方法

function addClass(element,new_name){if(!element||!new_name) return false;if(element.className){var old_name=element.className;element.className=old_name+" "+new_name;}else{element.classNa...

2018-09-23 09:53:25

Performance API(前端性能监控)

1》获取时间戳的方法比较要得到脚本运行的精确耗时,需要一个精度时间戳,传统做法是使用Date对象getTime方法,其不足之处在:1)getTime方法及Date对象的其他方法只能精确到毫秒级别2)getTime方法只能获取脚本运行过程中时间进度,无法知道一些后台事件进度,比如浏览器用了多长时间从服务器加载网页为解决这两个问题ES5引入高精度时间戳performance API,精...

2018-09-23 07:44:11

白屏时间,首屏时间,DOM树构建时间,整页时间

业界衡量移动端web app交互性能的优劣主要是通过检测webview渲染页面时白屏时间,首屏时间,DOM树构建时间,整页时间,交互性能指Processing和onLoad在浏览器交互阶段(Processing和onLoad时段)浏览器接收到服务器返回的基础页的数据后,浏览器需要对HTML对这个单纯的文本内容进行解析,从文本中构建出一个内部数据结构DOM树,从HTML也能得到外联和内联css脚...

2018-09-22 18:03:00

webpack打包体积过大的问题

webpack把我们所有的文件都打包成一个js文件,即使你是小项目,打包后的文件也非常大1)去掉不必要的插件开发环境和生产环境使用同一个webpack配置文件,导致生产环境打包的js文件包含很多没必要的插件(如:NoEmitOnErrorsPlugin)2)提取第三方库第三方库和源代码在一起打包体积会很大CommonsChunkPlugin 提取代码中公共模块,然后将公共模块打...

2018-09-22 09:06:17

css3动画优化

就是减少浏览器在动画运行时所需要做的工作渲染DOM的时候浏览器做的工作:获取DOM后分割为多个图层,对每个图层的节点计算样式结果,为每个节点生成图形和位置,将每个节点绘制填充到图层位图中,图层作为纹理上传至GPU(图形处理器),符合多个图层到页面上生成最终屏幕图像注意:如果图层中某个元素需要重绘,那么整个图层都需要重绘,比如一个图层包含很多节点,其中有gif图,gif图的每一帧都会重回...

2018-09-21 00:19:08

圆环的实现

方法一:利用子元素绝对定位的方法<div id="circle"><div id="ncircle"></div></div>#circle{width:100px;height:100px;background:green;border-radius:50%;}#ncircle{width:50px;...

2018-09-19 22:50:35

bind封装

Function.prototype.bindOne=function(context){ if(typeof this!=='function'){ throw new Error('bound is not callable') } //留住this var self=this; //arguments转数组,并从index=1截取 var args=Array.protot...

2018-09-18 00:15:30

判断回文

方法一:判断字符串头尾是否相等,逐次向中间检查function isPaline(line){line+="";for(var i=0,j=line.length-1;i<j;i++,j--){if(line.charAt(i)!==line.charAt(j)){return false;}}return true;}var str="abbbba...

2018-09-15 09:07:15

根据属性的值排序

function compare(propertyName){ return function(object1,object2){ var value1=object1[propertyName]; var value2=object2[propertyName]; if (value1>value2) { return 1; } else if...

2018-09-14 19:52:54

查看更多

勋章 我的勋章
    暂无奖章