
知识总结
前端精髓
前端开发
展开
-
deno 安装
前提是要brewbrew install deno然后安装vscode插件原创 2022-05-04 11:46:12 · 541 阅读 · 0 评论 -
parseInt和parseFloat的区别
parseInt 会忽略字符串前面的空格,直到找到第一个非空格字符,如果第一个字符是数字字符会继续解析第二个字符,直到遇到非数字字符停止parseInt可以识别各种整数格式,如:8进制,10进制,16进制,所以可以接收第二个参数表示要转换为多少进制var num = parseInt('0xAF', 16)//175面试题[1,2,3].map(parseInt)//[...原创 2018-03-23 20:30:49 · 11211 阅读 · 0 评论 -
手写一个Promise
Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。一旦成功就不允许失败,一旦失败就不允许成功。function Promise(excutor) { let self = this self.status = 'pending' self.value = null self.reason = nu...原创 2018-03-17 22:48:03 · 2428 阅读 · 0 评论 -
indexOf和includes的区别
数组和字符串有很多相似的对方,比如数组和字符串都有以下方法: 1. concat 2. indexOf 3. lastIndexOf 4. slice 5. includes数组中indexOf和较数组中includes的比较看函数的返回值:indexOf返回的是数值型的而includes返回的是布尔型的都可以支持第二参数,而且的第二个参数都支持负数形式数组中的inde原创 2017-11-30 22:05:04 · 12776 阅读 · 1 评论 -
怎样拷贝对象(深/浅拷贝)
说到拷贝对象,大家可能会先想到Object.assign这个方法,但是它并不是那么完美,它只会拷贝一层对象,如果对象里面还有对象它就引用了原来的对象。具体看下面代码一层拷贝没任何问题let obj = { aa: 11}let newObj = Object.assign({}, obj);obj.aa = 22;console.log(newObj.aa);原创 2018-01-07 22:17:10 · 719 阅读 · 0 评论 -
前端开发系列分享
前端开发系列分享这篇文章是分享作者在前端开发过程中遇到的各种问题,以及作为前端工程师我们必须掌握的一些技能。原创 2018-01-16 09:20:35 · 3933 阅读 · 0 评论 -
TCP协议的三次握手
TCP/IP是互联网相关的各类协议族的总称TCP/IP协议族分为:应用层,传输层,网络层,数据链路层应用层:向用户提供应用服务时的通讯的活动传输层:提供处于网络连接中的两台计算机之间的数据传输网络层:处理网络上的流动数据包(数据包是网络传输数据的最小数据单位)数据链路层:处理连接网络的硬件部分TCP位于传输层,提供可靠的字节流服务(字节流服务:将大块的数据分割成以报文段为单原创 2018-01-30 23:12:53 · 388 阅读 · 0 评论 -
变量提升必须注意的问题
声明变量在使用一个变量的时候,我们必须先声明一个变量,我们共有 var,let,const 这三个关键字可选择原创 2018-01-03 23:58:19 · 2364 阅读 · 0 评论 -
前端开发文档参考
jQuery API 中文文档React-用于构建用户界面的 JAVASCRIPT 库转载 2018-01-02 14:26:23 · 2734 阅读 · 0 评论 -
JPEG,GIF,PNG或SVG - 您应该使用哪种?
前端开发人员关心的事情很多。图像管理和优化是其中的一部分。为什么?据说图像约占网络的60%,因此作为前端开发人员,您很可能使用图像。原创 2018-08-26 11:14:28 · 1256 阅读 · 0 评论 -
vagrant和virtualbox快速搭建centos环境
如果有一个工具可以帮助我们方便地管理虚拟机,一键下载我们想要的操作系统,并可以将这些系统进行打包分享,就可以大大减轻我们的工作量。而这些,vagrant都能做到。原创 2019-04-18 13:36:07 · 818 阅读 · 0 评论 -
设计模式之适配器模式
适配器模式的作用是解决兼容问题的。在使用Vue的时候通常使用computed计算属性去处理数据然后再显示到页面中。<body> <div id="root"> <p>{{ name }}</p> <p>{{ upperName }}</p> </div> <script>...原创 2019-08-25 12:04:43 · 173 阅读 · 0 评论 -
设计模式之单例模式
什么是单例模式?只有一个实例(如在浏览器中只有一个window对象)class Window { constructor (name) { this.name = name; } static getInstance () { if (!this.instance) { this.instance = new Window() } ret...原创 2019-08-24 22:29:27 · 101 阅读 · 0 评论 -
理解JavaScript的闭包
基本概念执行环境(execution context,为简单起见,有时也称为“环境”)是JavaScript中最为重要的一个概念。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有变量和函数都保存在这个对象中。虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它。全局执行...原创 2019-08-08 13:30:08 · 491 阅读 · 0 评论 -
为什么ES模块比CommonJS更好
ES6 模块与 CommonJS 模块的差异CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。CommonJS 模块输出的是值的拷贝,也就是说,一旦输出一个值,模块内部的变化就影响不到这个值。请看下面这个模块文件lib.js的例子。// lib.jsvar counter = 3;funct...原创 2019-07-13 21:21:50 · 553 阅读 · 0 评论 -
双向通讯
WebSocket 与传统 HTTP 有如下好处。客户端与服务器端只建立一个 TCP 连接,可以使用更少的连接。WebSocket 服务器端可以推送数据到客户端,这远比 HTTP 请求响应模式更灵活、更高效。有更轻量级的协议头,减少数据传送量。WebSocket 最早是作为 HTML5 重要特性而出现的,现代浏览器大多都支持 WebSocket 协议,接下来我们用一段代码来展现 We...原创 2019-07-03 13:27:01 · 2382 阅读 · 0 评论 -
CSRF漏洞
CSRF是什么?CSRF的全称是Cross-Site RequestForgery,中文意思为跨站请求伪造。服务器端与客户端通过Cookie来标识和认证用户,通常Cookie会存放一个带签名的用户ID,每次请求服务器的时候浏览器就会自动把这个Cookie带上(只要Cookie不过期),服务器根据这个用户的ID就知道当前具体处理的是哪个用户。只有你给这个网站设置了Cookie,那么请求这个网...原创 2019-06-20 17:44:16 · 379 阅读 · 0 评论 -
服务器处理客户端请求的并发量
最早的服务器,其执行模型是同步的,它的服务模式是一次只为一个请求服务,所有请求都得按次序等待服务。这意味除了当前的请求被处理外,其余请求都处于耽误的状态。它的处理能力相当低下。为了解决同步架构的并发问题,一个简单的改进是通过进程的复制同时服务更多的请求和用户。这样每个连接都需要一个进程来服务,即100个连接需要启动100个进程来进行服务,这是非常昂贵的代价。在进程复制的过程中,需要复制进程内部的...转载 2019-05-09 08:20:49 · 1011 阅读 · 0 评论 -
模板引擎的实现原理
EJS 支持直接在标签内书写简单、直白的 JavaScript 代码。只需让 JavaScript 输出你所需要的 HTML ,完成工作很轻松!原创 2019-04-18 17:47:57 · 2304 阅读 · 0 评论 -
怎样拷贝数组(深 /浅拷贝)
拷贝数组就是把原来数组的每一项保存在一个新数组中,这样在操作数组的同时,另一个数组就不会受影响原创 2017-12-29 16:36:54 · 1686 阅读 · 1 评论 -
Vue单个组件通讯
这篇文字介绍单个组件中,Vue和JS数据通讯。在模板中绑定JS事件通过 @事件类型绑定事件原创 2018-01-01 21:30:42 · 193 阅读 · 0 评论 -
10个JavaScript难点!
JavaScript常见问题汇总翻译 2017-07-23 12:45:04 · 1669 阅读 · 0 评论 -
DOM节点全面分析
节点关系每个节点都有一个childNodes属性,其中保存着一个NodeList对象。NodeList是一种类数组对象,用于保存一组有序的节点,可以通过位置来访问这些节点。原创 2017-04-26 16:21:18 · 459 阅读 · 0 评论 -
数组中的重排序方法原理分析
重排序方法数组中已经存在两个可以直接用来重排序的方法:reverse()和 sort()。原创 2017-04-25 19:12:26 · 573 阅读 · 0 评论 -
执行环境及作用域的全面分析
执行环境及作用域 执行环境(execution context,为简单起见,有时也称为“环境”)是JavaScript中最为重要的一个概念。原创 2017-04-22 20:39:33 · 315 阅读 · 0 评论 -
实现事件跨浏览器的使用
事件对象的深入理解原创 2017-04-20 12:39:55 · 380 阅读 · 0 评论 -
Number类型知识大全
Number类型应该是ECMAScript中最令人关注的数据类型了原创 2017-04-19 13:58:40 · 2674 阅读 · 0 评论 -
程序员都是这样区分null和undefined
undefined 和 null的细节知识都在这里了,快来看看吧!原创 2017-04-19 12:37:56 · 3001 阅读 · 1 评论 -
史上最全的变量、作用域和内存问题
javascript基础知识大全原创 2017-04-09 15:43:54 · 1515 阅读 · 0 评论 -
ES6新增的数据结构
ES6知识笔记原创 2017-08-05 20:48:00 · 1496 阅读 · 0 评论 -
同源策略
同源策略是对JavaScript代码能够操作哪些Web内容的一条完整的安全限制。原创 2017-11-07 13:45:10 · 350 阅读 · 0 评论 -
JS简写技巧
代码的质量决定网站性能的好坏,我们优化性能的就包括压缩代码,所以我们我们有必要尽可能减少代码量。原创 2018-01-01 20:21:17 · 196 阅读 · 0 评论 -
原生JS封装动画
用过jQuery的都知道,jQuery中有提供了一个动画方法,那就是animate方法。这个函数的关键在于指定动画形式及结果样式属性对象。原创 2017-12-30 11:11:40 · 1202 阅读 · 0 评论 -
页面布局汇总
方式:双飞翼、多栏、弹性、流式、瀑布流、响应式布局转载 2018-01-01 19:25:40 · 327 阅读 · 0 评论 -
Promise异步编程
ES6中的promise介绍原创 2017-11-27 14:29:26 · 216 阅读 · 0 评论 -
编写自己的JavaScript方法库
下面列出了我在项目中经常使用到的一些方法,这些方法可以很方便的提高我们的工作效率,代码在GitHub上面,点击目录就可以跳转了,欢迎大家通过fork,改编和优化成自己的JavaScript方法库。原创 2017-11-16 21:05:48 · 489 阅读 · 0 评论 -
http状态码
http状态码,前端基础知识原创 2017-10-30 11:23:22 · 277 阅读 · 0 评论 -
数组方法总结归纳!!!
push() 方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。而 pop() 方法则从数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。原创 2017-09-27 11:17:46 · 316 阅读 · 0 评论 -
关于事件的那些细节知识
关于事件的知识汇总DOM0级事件处理程序var btn = document.getElementById("btn");//添加事件btn.onclick = function () { alert(this.id); //使用DOM0级方法指定的事件处理程序被认为是元素的方法。因此,这时候的的事件处理程序是在元素的作用域中完成的,换句话说,程序中的this引用当前元素...原创 2017-04-05 18:13:17 · 5223 阅读 · 1 评论