自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BigDaddy233333的博客

hi,你在看我的博客呢

  • 博客(91)
  • 收藏
  • 关注

转载 前端|浅谈fetch

Why Fetch在开发过程中,我们向服务端发送请求,一般会使用三种方式, XMLHttpRequest(XHR),Fetch ,jQuery实现的AJAX。其中, XMLHttpRequest(XHR)和Fetch是浏览器的原生API,jquery的ajax其实是封装了XHR。让我们首先来比较一下这三者的使用示例。XMLHttpRequestvar xhr;if (windo...

2019-02-23 15:46:54 248

转载 setTimeout的妙用1——代替setInterval进行间歇调用

【这是正文】  《JavaScript高级程序设计》这本书里面,介绍了很多关于setTimeout函数的神奇使用,今天来介绍下第一个——使用setTimeout代替setInterval进行间歇调用。  书中是这么说的“在开发环境下,很少使用间歇调用(setInterval),原因是后一个间歇调用很可能在前一个间歇调用结束前启动”。  这话怎么理解呢?  首先我们来看一下一...

2019-02-21 15:12:46 1710

原创 前端好文

js模块化编程之彻底弄懂CommonJS和AMD/CMD!TCP 详解正则基础之——反向引用30 秒就能理解的 JavaScript 代码片段(30 seconds of code)webpack系列之loader的基本使用简单透彻理解JSONP原理及使用JavaScript专题系列20篇正式完结!最详尽的 JS 原型与原型链终极详解,没有「可能是」。(一)最详尽的...

2019-01-22 22:04:12 227

原创 剑指offer

1.在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。function Find(target, array){ var rowCount = array.length - 1 , i , j ; for(i = rowCount,j...

2019-01-18 11:36:50 119

转载 visibility=hidden, opacity=0,display:none

visibility=hidden, opacity=0,display:noneopacity=0,该元素隐藏起来了,但不会改变页面布局,并且,如果该元素已经绑定一些事件,如click事件,那么点击该区域,也能触发点击事件的。visibility=hidden,该元素隐藏起来了,但不会改变页面布局,但是不会触发该元素已经绑定的事件。display=none,把元素隐藏起来,并且会改变...

2018-12-09 13:29:29 336

转载 前端面试-http、html和浏览器篇

1.http和httpshttps的SSL加密是在传输层实现的。(1)http和https的基本概念http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。https: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HT...

2018-12-09 13:28:28 194

转载 前端面试-进阶javascript篇

1.自己实现一个bind函数原理:通过apply或者call方法来实现。(1)初始版本Function.prototype.bind=function(obj,arg){ var arg=Array.prototype.slice.call(arguments,1); var context=this; return function(newArg){ arg=a...

2018-12-09 13:25:40 2380

转载 前端面试-基础javascript篇

1. get请求传参长度的误区误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是来源与浏览器或web服务器,浏览器或web服务器限制了url的长度。为了明确这个概念,我们必须再次强调下面几点:HTTP 协议 未规定 GET 和POST的长度限制 GET的最大长...

2018-12-09 13:24:31 161

转载 TCP和UDP的区别及应用场景

面试题回答:TCP和UDP的区别(1)TCP是面向连接的,udp是无连接的即发送数据前不需要先建立链接。(2)TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。 并且因为tcp可靠,面向连接,不会丢失数据因此适合大数据量的交换。(3)TCP是面向字节流,UDP面向报文,并且网络出现拥塞不会使得发送速...

2018-12-09 12:31:56 225

转载 js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗?       Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。JS中最常见的垃圾回收方式是标记清除。工作原理:是当变量进入环境时,将这个变量标记为“进入环境”。当变量离开环境时,则将其标记为“离开环境”。标记“离开环境”的就回收内存。工作流程:1.    垃圾回收器,在运行的时候会给存储在内存中的所有变量都加上标记。2.   ...

2018-12-08 11:17:01 130

转载 css3多栏布局

主要属性:1、栏宽度属性column-width设定分栏布局中一个栏的宽度值;实际宽度会根据外层盒子的宽度有所调整(可能变大)。2、栏数量属性column-count设定分栏布局中的总栏数。3、columns属性:上述column-width和column-count的综合属性;使用形式:columns: 栏宽值 栏目数;实际表现上,当总宽度大于等于“栏宽x栏目数”时,栏目数固...

2018-12-07 20:09:49 333

转载 Js中如何判断一个对象为数组类型

在说明如何判断一个对象为数组类型前,我们先巩固下js的数据类型,js一共有六大数据类型:number、string、object、Boolean、null、undefined。string: 由单引号或双引号来说明,如"string";number:数组类型,比如整数、小数等;Boolean: 有两个值:true、false;undefined:未定义,就是你创建一个变量后却没给它赋值;...

2018-12-07 16:03:49 262

转载 js预解析

1. 定义预解析:在当前作用域下,js运行之前,会把带有var和function关键字的事先声明,并在内存中安排好。然后再从上到下执行js语句。预解析只会发生在通过var定义的变量和function上。2. var通过var关键字定义的变量进行预解析的时候:都是声明declare,不管它有没有赋值,都会赋值undefined。alert(a); //undefinedvar...

2018-12-07 15:34:58 75

转载 javascript闭包

闭包的定义:闭包就是能够读取其他函数内部变量的函数(主要是用于封装变量,收敛权限)什么时候使用闭包:一个是前面提到的可以读取函数内部的变量,另一个是让这些变量始终保持在内存中。先看一般的调用方法:var flag = "window"; var object = { flag : "local", sayFlag: function()...

2018-12-07 14:36:50 103

转载 css3和h5的新特性

H5的新特性1.   用于绘画 canvas 元素。2.   用于媒介回放的 video 和 audio 元素。3.   本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;  sessionStorage 的数据在浏览器关闭后自动删除。4.   语意化更好的内容元素,比如 article、footer、header、nav、section5.   ...

2018-12-07 13:59:12 777

原创 把vue脚手架的项目放在centos服务器上运行

1.首先把vue项目用npm run build打包,默认打包后的文件是dist,对应下图的public目录:2.创建app.js,服务端代码,反正这个套路来就是了const Koa = require('koa');const body = require('koa-body');const cors = require('koa-cors');const compres...

2018-12-04 14:37:09 898

转载 Object.defineProperty()

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。语法Object.defineProperty(obj, prop, descriptor)参数obj要在其上定义属性的对象。prop要定义或修改的属性的名称。descriptor将被定义或修改的属性描述符。返回值    ...

2018-11-28 21:30:31 116

转载 bootstrap栅格布局

1、栅格系统(布局)Bootstrap内置了一套响应式、移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列。我在这里是把Bootstrap中的栅格系统叫做布局。它就是通过一系列的行(row)与列(column)的组合创建页面布局,然后你的内容就可以放入到你创建好的布局当中。下面就简单介绍一下Bootstrap栅格系统的工作原理: ...

2018-11-27 21:20:48 3783

转载 javascript动态规划

其实像在我们前端的开发中,用到的高级算法并不多,大部分情况if语句,for语句,swith语句等等,就可以解决了。稍微复杂的,可能会想到用递归去的解决。但要注意的是递归写起来简洁,但实际上执行的效率并不高。我们再看看动态规划的算法:动态规划解决方案从底部开始解决问题, 将所有小问题解决掉, 然后合并成一个整体解决方案, 从而解决掉整个大问题 。实例举例  (计算斐波那契数列) ...

2018-11-24 22:00:27 364

转载 javaScript贪心算法-找零问题

贪心算法遵循一种近似解决问题的技术,期盼通过每个阶段的局部最优选择(当前最好的解),从而达到全局的最优(全局最优解)。最少硬币找零问题 最少硬币找零是给出要找零的钱数,以及可以用硬币的额度数量,找出有多少种找零方法。 如:美国面额硬币有:1,5,10,25 我们给36美分的零钱,看能得怎样的结果? function MinCoinChange(coins){ var coins...

2018-11-24 20:56:16 896

原创 javascript深度优先遍历(DFS)广度优先遍历(BFS)

对于下面这段html代码,要求打印出每个节点的标签名和类名: <div id='root'> <span>123 <a href="#"> sdsd </a> <div>sdsd<a>这是一个a标签

2018-11-24 19:20:27 811

原创 javascript二分查找

二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找过程可以分为以下步骤:(1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否则进行下一步。(2)如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半区域查找,然后重复第一步的操作。(3)如果某一步数组为空,则表示找不到目标元素。递归代码:fu...

2018-11-24 14:51:00 127

原创 javascript快速排序

快速排序:快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法描述和实现快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:<1>.从数列中挑出一个元素,称为 "基准"(pivot); <2>.重新排...

2018-11-23 21:39:30 91

原创 javascript归并排序

归并排序:归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。算法描述和实现具体算法描述如下:<1>.把长度为n的输入序列分成两个长度...

2018-11-23 21:36:16 259

原创 javascript选择排序

选择排序:选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。算法描述和实现n个记录的直接选择排序可经过n-1趟直接选择排序得到有序结果。具体算法描述如下:<1>.初始状...

2018-11-23 21:19:33 198

原创 javascript冒泡排序

冒泡排序:冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端具体算法描述如下:<1>.比较相邻的元素。如果第一个比第二个大,就交换它们两个; <2>.对每一对相...

2018-11-23 20:42:51 447

原创 JavaScript插入排序

插入排序:插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。算法描述和实现一般来说,插入排序都采...

2018-11-23 20:13:13 112

原创 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(javascript)

function NumberOf1(n){ if(n < 0){ n = n >>> 0;//get到新技能,该行命令能够获取到负数的补码 } var arr = n.toString(2).split(''); return arr.reduce(function(a,b){ return b === "...

2018-11-19 20:27:42 413

原创 牛客刷题(4)

1.以下哪一项不属于浏览器Response Headers字段: Referer 附:解析:说一说常见的请求头和相应头都有什么呢?1)请求(客户端->服务端[request])     GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号)     Accept: */*(客户端能接收的资源类型) ...

2018-11-18 17:18:03 968 1

原创 牛客刷题(3)

1.浏览器在一次 HTTP 请求中,需要传输一个 4097 字节的文本数据给服务端,可以采用那些方式? 存入 IndexdDB 写入 COOKIE 放在 URL 参数 写入 Session 使用 POST(这是正确的) 放在 Local Storage 附:IndexdDB 是 HTML5 的本地存储,把一些数据存储到浏览器(...

2018-11-18 16:44:37 2484

原创 牛客刷题(2)

1.关于HTTP协议,下面哪个说法是正确的? RESTful 接口中,利用HTTP协议的method字段来描述要对资源操作的方式,比如GET表示获取资源,POST表示新增一个资源,PUT表示更新资源,DELETE 表示删除资源等等。 附:https://blog.csdn.net/qq_41720311/article/details/839019832.使用CSS的flexbox...

2018-11-18 15:26:43 2178

原创 牛客刷题(1)

1.下列关于操作系统进程与线程的区别正确的是: 进程是资源分配的基本单位 线程是资源调度的基本单位 附:操作系统中资源分配,调度和管理的最小单位都是进程。而cpu调度的最小单位是线程。2.flash和js通过什么类如何交互? ExternalInterface 附:Flash提供了ExternalInterface接口与JavaScript通信,Extern...

2018-11-18 14:24:09 1115

原创 img是行内元素,为什么也可以设置框高?

尽管img是行内元素,但同时它也是置换元素,置换元素一般内置框高属性,因此可以设置其框高。那么什么又是“置换元素”呢?置换元素就是会根据标签属性来显示的元素。反之就是非置换元素了。比如img根据src属性来显示,input根据value属性来显示,因此可知道img和input是置换元素,当然同理textarea, select,也是置换元素 ...

2018-11-17 21:56:50 1436

转载 vuejs - 如何对某个对象的属性进行watch监听?

1.普通的watchdata() { return { frontPoints: 0 }},watch: { frontPoints(newValue, oldValue) { console.log(newValue) }}2.对象属性的watchdata() {  return {   ...

2018-11-17 21:37:23 205

转载 Vue生命周期中mounted和created的区别

一、什么是生命周期?用通俗的语言来说,就是Vue中实例或者组件从创建到消灭中间经过的一系列过程。虽然不太严谨,但是也基本上可以理解。通过一系列实践,现在把所有遇到的问题整理一遍,今天记录一下created和mounted的区别:二、created和mounted区别?官方图解如下:我们从图中看两个节点:created:在模板渲染成html前调用,即通常初始化某些属性值...

2018-11-17 21:15:41 232

转载 关于vue项目的seo问题

  不可否定的是,vue现在火。但是在实际项目中,特别是像一下交互网站,我们不可避免会考虑到的是seo问题,这直接关系到我们网站的排名,很多人说用vue搭建的网站不能做优化,那我们真的要放弃vue,放弃前后端分离开发么?        首先,可以肯定的是前后端分离不利于SEO,为什么呢?        1.搜索引擎的基础爬虫的原理就是抓取你的url,然后获取你的html源代码并解析。 而你...

2018-11-17 21:05:31 1079

转载 js的单线程和异步

前言说到js的单线程(single threaded)和异步(asynchronous),很多同学不禁会想,这不是自相矛盾么?其实,单线程和异步确实不能同时成为一个语言的特性。js选择了成为单线程的语言,所以它本身不可能是异步的,但js的宿主环境(比如浏览器,Node)是多线程的,宿主环境通过某种方式(事件驱动,下文会讲)使得js具备了异步的属性。往下看,你会发现js的机制是多么的简单高效!...

2018-11-15 20:33:45 123

转载 ES6---新增数据类型Symbol

es6新标,加入了新的数据类型Symbol与新的数据结构set、map,他们各有特点。●Symbol: let a=Symbol();console.log(typeof a);//symbol,js语言的数据类型再添一员Symbol()==Symbol();//falselet a=Symbol();let b=Symbol();a==b;//false,symbol数据的...

2018-11-15 20:06:34 159

转载 js--深拷贝与浅拷贝的区别,实现深拷贝的几种方法

如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。此篇文章中也会简单阐述到栈堆,基本数据类型与引用数据类型,因为这些概念能更好的让你理解深拷贝与浅拷贝。我们来举个浅拷贝例子:let a=[0,1,2,3,4], b=a;console.log(a===b);...

2018-11-13 21:18:59 84

转载 js值arguments详解

在javascript中arguments是一个类似array的存在,但它不能等同于array.arguments对象不能显示的创建,它只有在函数开始时才可用。它可以像访问数组那样去访问每一个子元素。ps:arguments[0],arguments[1],......arguments[n]; javascript并没有重载函数的功能,但是通过arguments对象能够模拟重...

2018-11-13 21:10:16 249

空空如也

空空如也

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

TA关注的人

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