自定义博客皮肤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 986

原创 瀑布流引发的思考

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

2019-03-01 11:32:54 509

原创 【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 472

原创 【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 235

原创 【JS】了解call apply 和bind

在学习call和apply时我们知道他们的作用是改变this指向,区别是传参形式不同。 1.call function 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 174

原创 【JS】了解this

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

2018-05-09 10:34:19 147

原创 【JS】 理解闭包

在理解js作用域和作用域链之后,(https://blog.youkuaiyun.com/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 337

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

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

2018-05-05 15:50:47 621

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

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

2018-05-05 10:39:06 327

原创 【JS】理解预编译

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

2018-05-04 09:54:42 291

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

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

2018-04-27 10:40:46 242

原创 【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 495

空空如也

空空如也

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

TA关注的人

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