自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Array数组类型

1、Array类型是我们日常开发中非常常用的数据类型。创建一个数组的方式非常简单:var arr = [1,'name',true,null,undefined,{},[]];这是以字面量,也是最常用的创建数组的形式,其中可以包含任何类型的数据。访问其中的某项,可通过索引:arr[0] //1索引值从0开始计算,即0代表数组中的第一项,1代表第二项,以此类推。2、length属性数...

2019-02-02 14:59:01 4405

原创 JavaScript定时器

在JavaScript中,有两种创建定时器的方法,setTimeout和setInterval,两者都可接受两个参数,第一个参数可以是JavaScript字符串或是函数,第二个参数是以毫秒为单位的数值,以setTimeout为例:setTimeout(function () { console.log(1)},1000)给定时器传入JavaScript字符串的方式有着造成性能底下的问题,...

2019-01-28 00:16:31 227

原创 json

JSON是一种轻量级的数据交换格式,相对于xml,它体积小,使用非常简便,受到了开发人员们的热烈欢迎,是目前主流的一种格式。json中可以保存简单值,如字符串,数值,布尔值,unll,也可以保存对象以及数组,但不支持undefined和函数。var json = { "name" : "json", "age" : 1, "arr" : [1,{},3]}以上就是json的语法格式...

2019-01-22 01:02:57 340

原创 ajax

ajax1、简单地说,ajax就是一种能够在页面不刷新的情况下从外部获取数据的技术。var xhr = new XMLHttpRequest();xhr.open(‘get’,‘a.php’,true);xhr.send(null);以上代码中,我们向a.php发送了一个get请求,首先,我们创建了一个XMLHttpRequest对象的实例,然后调用实例的open方法,open方法接受...

2019-01-22 00:37:09 337

原创 JS获取窗口,元素尺寸与偏移量

获取浏览器窗口的大小文档区域 :指的是html或body的宽高(不包含导航栏,地址栏等浏览器组件)。窗口 :指的是整个浏览器窗口(包含导航栏,地址栏等浏览器组件)文档可视区域 :指的是文档区域中可以看到网页内容的区域,例如当文档区域可以滚动的时候,减去被隐藏的区域,剩下的就是可见的区域。视口 :浏览器中呈现网页内容的区域(不包含导航栏,地址栏等浏览器组件)1.1 innerHei...

2019-01-03 13:00:14 1356

原创 async函数

es6中引入的async函数为开发者提供了一种功能更加强大方便的异步操作方案。1.1创建async函数与普通函数的区别就是,async函数需要使用async关键字进行创建。async就是异步的意思。function a () { return new Promise((resolve,reject) => { setTimeout(() => resolve('2'),...

2018-11-15 18:06:16 214

原创 工厂模式与构造函数模式

简单工厂模式以Object构造函数或字面量的方式创建对象有着重复性,会产生大量重复代码的缺陷,由此,便出现了工厂模式。function createObj (name,age) {var obj = new Object();obj.name = name;obj.age = age;return obj;}var obj1 = createObj("小明",66);va...

2018-11-15 12:13:57 349

原创 构造函数模式与原型模式的组合使用

构造函数模式function Obj (name) {this.name = name;this.fn = function () {}}var obj1 = new Obj("小明")var boj2 = new Obj("小红")console.log(obj1.name)//小明console.log(obj2.name)//小红console.log(obj1.fn ...

2018-11-15 12:10:58 151

原创 原型式继承与寄生式继承

原型式继承原型式继承是一种简单的继承方法。这个方法接受一个对象参数,而对象参数将会作为函数内返回的对象的原型。由此实现继承。因此,这个原型将被其所有实例共享。function object (obj) {function F () {}F.prototype = obj;retrun new F();}var o = {name : 'cat',fn : function ()...

2018-11-15 12:07:56 283

原创 闭包

闭包是指有权访问另一个函数作用域中的变量的函数。这是JavaScript中对闭包的解释。function fn1 () {var age = 20;return function () {return age;}}var fn2 = fn1();var age = fn2();console.log(age); //20也许你会觉得,fn1中返回的匿名函数是在全局环境...

2018-11-15 12:05:52 100

原创 class类

1.1es6提供了创建对象的新方法,可以通过class关键字来定义一个类。如下:class Obj { constructor (x,y) { this.x = x; this.y = y; } fn () { console.log(this.x); }}var obj1 = new Obj(1,2);obj1.fn() //1类的调用同样需要使用ne...

2018-11-15 12:00:19 233

原创 es6模块命令

es6的模块命令分为export命令和import命令,其中export命令用于导出变量,import命令用于引入变量。1.1a文件:export var name = "name";export var age = 1;以上a文件中使用export命令导出了name和age变量。下面,将在b文件中使用import命令进行引入b文件:import {name,age} from '...

2018-11-15 11:56:53 267

原创 es6 对象的拓展

1、属性的简写法1.1var a = '1';var b = '2';var obj = {a,b};console.log(obj) //{a: "1", b: "2"}在这里,{a,b}这样的写法等价于{a:‘1’, b:‘2’},可以发现,简写法会将变量名作为属性,将变量的值作为属性值。1.2 一个实际应用的例子function fn (a,b) { return {...

2018-11-04 10:52:48 147

原创 es6 数组的拓展

1、拓展运算符数组的拓展运算符为三个点(…),它的作用是将数中的值转为用逗号隔开的参数序列。1.1function fn (a,b) { console.log(a) //1 console.log(b) //2}let arr = [1,2];fn(…arr); //fn(…arr)其实等于fn(1,2)1.2let arr = [3,4];let newArr =...

2018-11-04 09:14:54 116

原创 javascript正则表达式

JavaScript正则表达式正则表达式是一种非常强大的用来匹配和处理文本字符串的语言。想要掌握它,是一件非常不容易的事,需要经过长期的实践与磨练。1、以字面量的方式来创建一个模式,非常简单。var reg = /name/;也可以使用构造函数的方式创建一个模式。var reg = new RegExp(name);2、test方法测试一个模式可以使用test方法。匹配成功返回t...

2018-11-03 22:56:41 267

原创 promise

promise是一种很强大灵活方便的异步编程解决方案。promise接受一个函数作为参数,这个函数接受两个参数,resovle方法和reject方法。resovle方法用于将promise的状态从未完成设置为成功,通常就是在异步请求成功的时候,调用该方法。resolve方法用于将promise的状态从未完成设置为失败。通常就是在异步请求失败的时候调用该方法。1、 const p = n...

2018-11-03 10:30:25 90

原创 let与const命令

let和var一样是用来声明变量的。但是,它与var有很大的不同。使用let声明的变量只在其所在的代码块内有效。if (true) { var a = 1; }console.log(a); //1if (true) { let a = 1; }console.log(a); 报错在全局作用域中,使用let声明的变量不会是window对象的属性。var age = 1;co...

2018-11-03 10:13:40 89

原创 es6 字符串与数值的拓展

字符串的拓展:es5提供了indexof方法,可返回某个指定的字符串值在字符串中首次出现的位置。而es6中则又新增了三个方法。一:1、includes方法返回一个布尔值,如果查询的字符在字符串中被找到了,返回true,否则返回false。console.log('abcd'.includes('b')) //true 2、startsWith方法用于判断某个字符是否在字符串的开头位置...

2018-11-02 20:02:42 107

原创 es6 解构赋值

使用es6的解构赋值能够更加方便简洁地从数组或者对象中提取值然后赋值给变量。一:数组的解构赋值1、es5:let a = 1;let b = 2;let c = 3;es6: let [a,b,c] = [1,2,3] console.log(a) //1 console.log(b) //2 console.log(c) //3等号右边的...

2018-11-02 19:53:18 110

原创 es6函数的拓展与箭头函数

1、函数的默认值: function fn (a=1,b=2) { console.log(a) //10 console.log(b) //2 } fn(10)可以看到,当没有传第二个参数的时候,b的值为默认值2。var age = 2function fn (func = () => {console.log(age)}) { v...

2018-11-02 19:43:49 138

空空如也

空空如也

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

TA关注的人

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