自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

原创 关于Ajax的知识总结

1、Ajax是什么?如何创建一个Ajax?Ajax是一种创建网页交互的网页开发技术,全称asynchronous javascript and xml, 主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新。使用Ajax原声方式发送请求主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果var xhr = null ...

2019-02-19 09:56:50 166 1

原创 数组split、splice、slice方法的区别总结

split() (译:分裂,分开)用于把一个字符串分割成字符串数组,例:var str="this is jacob";console.log(str.split(""));//["t", "h", "i", "s", " ", "i", "s", " ", "j", &qu

2019-02-16 18:26:24 7555

原创 字符串slice、substr、substring方法的区别总结

string.slice(start, end):提取一个字符串,但不包括第二个参数所指定的元素string.substring(start, end):提取一个字符串,end不支持负数,且不包括第二参数所指定的元素string.substr(start, len):从start位置提取一个长度为len的字符串...

2019-02-16 18:25:38 450

原创 HTML语义化

1、什么是HTML语义化?<基本上都是围绕着几个主要的标签,像标题(H1~H6)、列表(li)、强调(strong em)等等>  根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。2、为什么要语义化?为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看;用户体验:例如title...

2018-06-19 12:49:19 131

转载 sessionStorage和localStorage区别

html5中的Web Storage包括两种存储方式:sessionStorage和localStorage。localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。他们均只能存储字符串类型的对象。sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问,并且当会话结束之后数据也随之销毁。因此sessi...

2018-06-19 12:48:31 2705

原创 6种减少页面加载时间的方法

1. 优化图片 2. 图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方) 3. 优化CSS(压缩合并css,如 margin-top, margin-left...) 4. 网址后加斜杠(如www.campr.com/目录,会判断这个目录是什么文件类型,或者是目录。) 5. 标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要...

2018-06-19 12:47:16 761

原创 XML与JSON的区别

XML和JSON优缺点(1)XML的优缺点XML的优点 a.格式统一,符合标准; b.容易与其他系统进行远程交互,数据共享比较方便 2. XML的缺点 a.XML文件庞大,文件格式复杂,传输占带宽; b.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常...

2018-06-19 12:46:34 126

转载 JSON

JSON(JavaScript Object Notation, JS对象简谱) 是一种轻量级的数据交换格式。它是基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。JSON 语法规则在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的...

2018-06-19 12:45:55 145

原创 XML

XML为可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。一、什么是可扩展标记语言?可扩展标记语言是一种很像超文本标记语言的标记语言它的设计宗旨是传输数据,而不是显示数据它的标签没有被预定义,你需要自行定义标签它被设计为具有自我描述性它是W3C的推荐标准二、可扩展标记语言和超文本标记语言(HTML)之间的差异它不是超文本标记语言的替代它是对超文本标记语言的补充它和超文本标记语言为不同...

2018-06-19 12:43:55 96

原创 聊聊HTTPS和SSL、TLS协议

1、HTTP协议http://www.baidu.com/ 就是一个网络协议。大部分网站都是通过HTTP协议来传输Web页面、以及Web页面上的各种东西(图片、CSS样式、JS脚本)。2、SSL/TLSSSL是“Secure Sockets Layer”的缩写,中文叫“安全套接层”。它是由网景公司设计的(还发明了许多Web的基础样式----“CSS样式表”和“JS脚本”)为啥要发明SSL这个协议...

2018-06-19 12:42:40 237

原创 OOP补充

模拟重载function Person(){ var args=arguments; if(typeof args[0]==='object'&&args[0]){ //这里还要防止args[]为null的情况,因为null也为Object if(args[0].name){ this.name=args[0].name; ...

2018-06-19 10:36:22 126

原创 浅谈原型链

代码:function Person(name,age){ this.name=name; this.age=age;}Person.prototype.hi=function(){ console.log("Hi,my name is"+this.name+",I'm"+this.age+"years old now.");};Person.prototype.LEGS_NUM...

2018-06-19 10:31:08 135

原创 Object Oriented Programming继承

基于原型的继承例:function Foo(){ this.y=2;}console.log(typeof Foo.prototype); //"Object"Foo.prototype.x=1;var obj3=new Foo();console.log(obj3.y); //2console.log(obj3.x); //1图解:注意:Object.prototype属性与原型proto...

2018-06-19 10:23:29 539

转载 深入理解上下文

概念EC:函数执行环境(或执行上下文),Execution ContextECS:执行环境栈,Execution Context StackVO:变量对象,Variable ObjectAO:活动对象,Active Objectscope chain:作用域链EC执行上下文每次当控制器转到ECMAScript可执行代码的时候,就会进入到一个执行上下文。可执行代码的类型1、全局代码(Global c...

2018-06-18 12:04:09 1162

原创 作用域

js作用域没有块级划分,其作用域主要分为三类:全局作用域、函数作用域、eval作用域例1:var a=10; //全局作用域(function(){ //函数作用域 var b=20; })();console.log(a); //10console.log(b); //error,b in no defined例2:for(var item in {a:1...

2018-06-18 12:01:26 121

原创 深入理解闭包

变量的作用域变量作用域两种:全局变量和局部变量js特殊之处在于函数内部可以直接读取全局变量例1:var n=999;function f1(){ alert(n);}f1(); //999另一方面函数外部无法读取函数内的局部变量例2: function f1(){ var n=999;}alert(n); //Error函数内部声明变量的时候,一定要用var,不用的话...

2018-06-18 11:59:42 340

原创 Array.prototype.slice.call()方法

先将该方法拆分成两部分:1、Array.prototype.slice()该方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,且原数组不会被修改。根据以上定义,我们可以猜测下该方法的实现原理:Array.prototype.slice=function(start,end){ var result=new Array(); start=start||0; ...

2018-06-18 11:58:29 1205 1

原创 关于函数currying 柯里化

js柯里化是逐步传参,逐步缩小函数的适用范围,逐步求解的过程例1:var concat3Words = function (a, b, c) { return a+b+c;};函数柯里化呢?是分部求解,先传一个a参数,再传一个b参数,再传一个c参数,最后将这三个参数相加!例2:var concat3WordsCurrying = function(a) { return functio...

2018-06-18 11:56:48 183

原创 关于函数属性arguments

函数属性&arguments例:function foo(x,y,z){ console.log(arguments.length); //2 实参个数 console.log(arguments[0]); //1 arguments是类数组与Array不同 arguments[0]=10; console.log(x); ...

2018-06-18 11:56:00 304

原创 关于bind方法

理解js中bind方法的使用  提到bind方法,估计大家还会想到call方法、apply方法;它们都是Function对象内建的方法,它们的第一个参数都是用来更改调用方法中this的指向。需要注意的是bind 是返回新的函数,以便稍后调用;apply 、call 则是立即调用原函数 。而今天我们主要讲解bind方法的理解与使用。bind方法是EcmaScript5新增的方法,该方法在mdn上是这...

2018-06-18 11:54:47 650

原创 call()方法和apply()方法总结

1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法。2. 相同点:这两个方法的作用是一样的。都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。call方法使用示例://例1window.color='red';doc...

2018-06-18 11:53:58 341

原创 关于this

全局的this(浏览器)console.log(this.document===document); //trueconsole.log(this===window); //truethis.a=37;console.log(window.a); //37一般函数的this(浏览器)function f1(){ return this;};f1()===window; /...

2018-06-18 11:53:18 138

原创 关于声明VS表达式

函数声明function add(a,b){ a=+a; b=+b; if(isNaN(a)||isNaN(b)){ return 0; } return a+b; }函数表达式//function variable var add=function(a,b){ //do sth }...

2018-06-18 11:43:17 592 1

空空如也

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

TA关注的人

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