自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从React16生命周期到React fiber架构

之前回看React文档时,发现React已经更新到了v16.7.0版本,想起之前官方所提过的将会在未来v17.0 版本中移除componentWillMount,componentWillReceiveProps,componentWillUpdate,因此在这里简单记录一下移除的三个生命周期函数,和学习新引入的两个生命周期函数 getDerivedStateFromProps,getSnapshotBeforeUpdate。

2019-03-18 15:43:27 903

原创 瀑布流引发的思考

事件起因:有一天在某篇文章看到这样一道题目A:你有写过瀑布流吗?B:我写过等宽瀑布流。实现是当用户拉到底部的一定高度的时候,向后端请求一定数量的图片,然后再插入到页面中。A:那我问一下,如何让几列图片之间的高度差最小?B:这个需要后端发来的数据里面有图片的高度,然后我就可以看当前高度最小的是哪里列,将新图片插入那一列,然后再看看新的高度最小的是哪一列。A:我觉得你没有理解我的问...

2019-03-01 11:32:54 426

原创 【JS】数组方法集合

改变原数组的方法var arr = [1,2,3]1.pop方法,移除数组最后一个元素并返回这个元素arr.pop();    //3   arr=[1,2]2.shift方法,移除数组第一个元素并返回这个元素arr.shift();    //1  arr=[2,3]3.push方法,在数组最后一位后添加新元素arr.push(4);    //4   arr=[1,2,3,4]4.unshif...

2018-05-20 11:22:05 415

原创 【JS】继承模式

我们知道在es6中我们使用extend实现继承,当然在我们也可以使用js实现面向对象的继承传统方式--原型链Grand.prototype.lastName="shu";function Grand(){}var grand =new Grand();Father.prototype=grand;function Father(){}var father=new Father...

2018-05-19 11:04:39 193

原创 【JS】了解call apply 和bind

在学习call和apply时我们知道他们的作用是改变this指向,区别是传参形式不同。1.callfunction Person(name,age){ //this==obj this.name=name, this.age=age}var person =new Person('haha',18);var obj ={};Person.call(obj,'he...

2018-05-09 12:05:22 138

原创 【JS】了解this

this是函数运行中,自动生成的一个对象(我们在于编译中就已经了解了这一点),随着函数应用场合的不同,this的指向也会有所不同,但有一个原则,this指向调用这个函数的对象。1.在全局作用域下或普通函数调用 this 指向windowfunction test(){ console.log(this)}test();console.log(this);//window...

2018-05-09 10:34:19 122

原创 【JS】 理解闭包

在理解js作用域和作用域链之后,(https://blog.csdn.net/timcope/article/details/80103538)我们可以去探究闭包。function a (){ function b(){ console.log(aaa); } var aaa =123; return b;}var demo =a();demo();...

2018-05-06 10:17:54 290

原创 【JS】理解原型 constructor 原型链

[什么是原型]原型是函数对象的一个属性,它定义了构造函数制造出的对象的公共祖先,通过该构造函数产生的对象,可以继承该原型的属性和方法,同时原型也是一个对象。[constructor]补充我在构造函数内没有的讲的,我们知道person1 和 person2 都是Person构造函数构造出来的实例,同时我们提出来了一个新的概念constructor 是构造的意思,在学完es6之后我发现这个...

2018-05-05 15:50:47 545

原创 【JS】理解对象 构造函数 包装类

[什么是对象]W3school 给出的解释是JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。在 JavaScript 中,对象是拥有属性和方法的数据。var obj={ a:123, b:234, say:function(){ console.log('hello') }}这是一个典型的js对象,他有着...

2018-05-05 10:39:06 280

原创 【JS】理解预编译

我们都明白js在运行中会进行三个步骤,1.整体语法分析(排除基本错误),2.进行预编译,3.解释执行(按照顺序解释一行执行一行)。那么所谓的预编译是什么呢?先看两个基本例子console.log(a);var a =123;console.log(a);//undefined//123test();function test(){ console.log('a');...

2018-05-04 09:54:42 249

原创 【JS】理解作用域与作用域链

1.什么是作用域?在ECMAScript中的定义是变量的适用范围。我们了解在js中变量分为两类局部变量和全局变量,全局变量的作用域是全局的,在函数内部声明的变量我们称之为局部变量,作用域是局部的只在函数体内有意义。2.彼此独立的的区间不能互相访问,全局变量都可以访问,外层函数不能访问里层的,里层可以访问外层的,越往里权限越高。3.每个js对象都有属性,有些可以被我们访问,有些不行,这些...

2018-04-27 10:40:46 199

原创 【JS】 理解arguments

1.每个函数里面都隐式存在这arguments,也就是我们常用的实参列表,这也是我们能在函数体中调用其的原因。同时只有函数被调用时,arguments对象才会创建,未调用时其值为null。function sum(){ // arguments [1,2,3] var result =0; for(var i = 0;i < arguments.length;i...

2018-04-23 11:40:26 436

空空如也

空空如也

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

TA关注的人

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