- 博客(12)
- 收藏
- 关注
原创 ES6 Promise与异步操作
Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法。 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象相比于使用回调函数callback的模式,Promise的优点是避免了大量回调函数嵌套产生的代码维护性差,可读性差的问题,能...
2018-12-27 18:56:32
173
原创 变量的解构赋值
数组的解构赋值ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。es5let a = 1;let b = 2;let c = 3;es6let [a, b, c] = [1, 2, 3];上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值,只要等号两边的模式相同,左边的变量就会被赋予对应的值。如果解构不成功,变量的值就等于undefine...
2018-11-04 20:51:47
168
原创 var,let,const的区别
和var相比let所声明的变量只能用于let所在的代码块{ let a = 1; var b = 2;}a // ReferenceError: a is not defined.b // 2在代码块外部调用let声明的变量会导致报错,var会返回正确的值利用这点特性可以将let用于计数器var a = [];for (var i = 0; i < 10...
2018-10-28 14:54:05
159
原创 原生JavaScript实现轮播图
实现原理通过自定义的animate函数来改变元素的left值让图片呈现左右滚动的效果HTML:<!DOCTYPE html><html><head> <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" href=
2018-08-02 21:21:19
507
原创 JavaScript声明提升
一般认为,javascript代码在执行时是由上到下一行一行执行的。但实际上这并不完全正确,主要是因为声明提升的存在。 变量声明提升 a = 2 ;var a;console.log( a ); //2一般来说会认为结果是undefined,因为var a声明在a = 2;之后,变量应该被重新赋值了,被赋予默认值undefined。但是,真正的输出结果是2console....
2018-07-28 10:57:10
128
原创 JavaScript闭包
闭包是指有权访问另一个函数作用域中的变量的函数例如function foo(){ var a = 2; function bar(){ console.log(a); } return bar;}var baz = foo();baz();执行过程代码执行流进入全局执行环境,并对全局执行环境中的代码进行声明提升 执行流执行v...
2018-07-28 10:43:42
119
原创 JavaScript的继承
原型链 其基本思想是利用让一个引用类型继承另一个引用类型的属性和方法。实现的本质是重写原型对象,代之以一个新类型的实例。下面的代码中,原来存在于SuperType的实例对象中的属性和方法,现在也存在于SubType.prototype中了function SuperType(){ this.value = true;}SuperType.prototype.getSuperV...
2018-07-28 10:27:39
126
原创 JavaScript创建对象的方式
工厂模式 创建函数来封装特定的接口和创建对象的细节。函数可以通过接受对象来创建一个包含属性和方法的对象,可以反复的调用函数。优点:增加了代码的复用性 缺点:无法识别对象类型function createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = age; ...
2018-07-28 09:42:18
355
原创 JavaScript中apply()方法的使用
每个函数都包含两个非继承而来的方法,apply()和call()。这两个方法的区别只是接受的参数不同。apply接受两次参数,一个 是运行函数的作用域,另一个是参数数组(既可以是Array的实例也可以是argument对象),call的第一个参数和apply一致,变化的是其余的参数都要直接传给参数。如:a.apply(this,[1,2,3])=a.call(this,1,2,3)appl...
2018-07-22 09:33:54
2475
原创 JavaScript中基本/引用类型与参数传递
基本类型和引用类型5种基本类型:Undefined、Null、Boolean、Number和String 基本类型是按值访问的,所以可以直接操作保存在变量中的实际的值引用类型的值是保存在内存中的对象,由于JS不能直接访问内存中的位置,所以操作的是对象的引用,为此引用类型的值是按引用访问的。值的复制如果从一个变量向另一个变量复制基本类型值,会创建一个新值,并把该值复制到新变量分配的...
2018-07-20 16:49:52
171
原创 vertical-align的使用
vertical-align主要用于垂直对齐,作用对象为行内元素(含行内块),单元格。对块级元素及其内的元素无效。vertical-align不可继承,只能在子元素中单独使用值描述长度通过距离升高(正值)或降低(负值)元素。'0cm'等同于'baseline'百分值 – %通过距离(相对于1line-height1值的百分大小)升高(正值)或降低(负值)元素。'0%'等同于'baseline'ba...
2018-07-01 13:12:38
2064
原创 学生管理系统总结
完整代码地址实现密码星号输入及其退格int A = 0; char c = 0; while (A < 20 && c != 13) //13是回车符的ASCII码 { c = getch(); if (c != 13 && c != 8) { putch('*'); a.pwd[A++] = c; } else if...
2018-06-03 14:29:37
1496
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人