- 博客(42)
- 收藏
- 关注
原创 React Hooks(v17.0.2)
Hooks是在版本16.8新增的特性;Hooks到底是为何而存在,从React官方文档的描述中,貌似跟class组件的复杂性和分明的生命周期有一定的关系,当然官方也说了不会移除class组件的,class组件目前来说还是React的核心之一,Hooks具有兼容性即随时随地可以使用,目前在函数组件中使用,可以说是函数组件的福音,使函数组件也能在一定程度上使用class组件的特性如state、refs、context等;先看Hooks都做了哪些事情;1,基础Hooks:useSate2,额外的Hoo
2021-07-16 12:47:39
344
原创 React APIs(v17.0.2)
React是一款简洁、松耦合的UI框架,它通过一个全局React给用户提供了易用的APIs,也提供了给ReactDOM共同使用的APIs(有共用的属性和方法);接下来就对React的知识过一遍,做一下总结;实际环境中,React是需要与ReactDOM一起使用的;其中React.Component和React.PureComponent在另一篇文章提及;以及Hooks的APIs也在另一篇文章;ReactDOM的内容也在另一篇文章;ReactDOMServer也在另一篇文章;等待补充;以及DOM元素和合成
2021-06-27 20:54:02
243
原创 React Component&PureComponent
React最核心的概念之一:组件;组件是渲染UI的最小单位,每个组件都有自己的html template、与UI交互的数据、操作html DOM的逻辑,它是个独立的单位,与其他组件的交互一般单向的,可以通过props、children、render、ref、context的value来单项地从父组件向子组件传递需要的任何类型的数据;children的值是react元素,render是个render函数且返回一个react元素,ref的值可以由React.createRef方法创建的对象也可以是hook us
2021-06-24 22:38:12
173
原创 SVG 常用元素、viewBox、preserveAspectRatio等
<mpath href='test' xlink:href='test'>复用已定义的<path id='test'>, <mpath>作为<animateMotion>的子元素,使其能按path定义的路径运动;若不复用外部的path,可以在<animateMotion>加上子元素<path d='....'>;<animateMotion dur="3s" repeatCount="4" path=""> ,动画运动.
2021-05-17 22:13:21
970
1
原创 Vuex API(v3.x)
Vuex是一个专为Vue.js开发的状态管理模式,采取集中式存储管理应用的所有组件的状态,并以响应的规则保证状态以一种可预测的方式发生改变;简单的说就是全局定义可供所有组件使用的状态,以及设计了一套规则,该规则可以容易追踪到状态发生改变的轨迹;1,Vuex API:Vuex脚本给环境提供一个名为Vuex的对象,Vuex = {Store, install, version, mapSate, mapGetters, mapMutations, mapActions, createNamespacedHe
2021-05-01 00:18:31
313
原创 CSS 盒子模型
1,标准盒子模型:2,IE盒子模型:3,使用box-sizing 改变盒子模型4,使用百分比时,width指的是父元素的宽度:content + padding+border;height指的是父元素的高度:content+padding+border;
2021-04-25 23:11:38
149
原创 vue-router API(v3.x.x)
1, Vue-router为Vue环境添加两个全局组件:RouterView(函数组件)和RouterLink;
2021-04-21 22:25:47
538
原创 JavaScript 正则表达式
正则表达式的模式;该模式有哪些字符组成,有普通字符,有特殊字符,可以其中一种,也可以是它们的组合;需要通过了解正则表达式的断言、字符类、组和范围、量词、Unicode属性转义等知识点,编写正则表达式的模式;利用表达式对象的方法test和exec,以及String的replace、match、matchAll、search、split使用正则表达式的模式匹配字符串中字符组合;1、组和范围:a, []用中括号括起的字符集合如[a-c], 表示匹配括号中a到c任意一个字符,'-'表示范围,也有相反意思的如
2021-04-19 16:53:52
187
原创 JS——new 运算符
new 操作符做了什么?new 创建一个实例,将实例的原型对象指向构造函数的prototype对象,并把构造函数体的this绑定到实例初始实例的属性;new操作符的返回值、函数体的执行有哪些现象?通过以下例子展现:...
2021-04-14 15:58:47
137
原创 JavaScript——事件循环模式
了解JS事件循环、代码执行顺序,先了解运行时的函数调用栈(Stack)、堆(Heap)和任务队列(queue,有微任务队列和宏任务之分);
2021-04-09 14:48:23
126
原创 Vue——render函数
render函数的知识点比较多,作为单独的一篇;首先,render函数返回VNode,即虚拟DOM节点;render函数接受两个参数,一个是createElement函数,该函数负责创建VNode,一个是context,该参数在函数组件中可用,用来传递函数组件的上下文作环境;第二是createElement函数接收的参数;第三是函数组件中的render函数;...
2021-04-08 23:23:02
1311
原创 ES6——Set和Map
1,Map对象,存储键值对;跟Object对象的区别,以及Map的使用2,Set对象,存储唯一值;跟Array的区别,以及Set的使用
2021-04-07 19:57:05
943
原创 Vue——API vue实例选项二(2.x)
1,选项资源: directives, filters, components2, 选项组合:parent(parent是什么,做什么用的), extends, mixins, provide/inject(这两个又是做什么)3, 选项其他:name, inheritAttrs, comments(这是做什么用的), funtional, model(model是什么,做什么用的?), delimiters(这是什么,又是什么类型的4,参考文档:Vue...
2021-04-07 14:28:15
141
原创 Vue——API 实例(V2.x)
1,实例property: vm.$data, vm.$slots, vm.$parent, vm.$props, vm.$propsData, vm.$el, vm.$options, vm.$root, vm.$attrs, vm.$scopedSlots, vm.$refs, vm.$listeners, vm.$isServer, vm.$children:vm.$data:(这是什么?在什么时候赋值?有什么用?保留原始数据对象)vm.$slots:(这是个对象,在预编译的时候给值的吗?会在
2021-04-05 16:43:45
172
原创 Vue——API 内置组件、指令,特殊Attrs(V2.x)
1,特殊Attrs:ref, is, key, slot和scope和slot-scope从2.6.0被废弃取而代之的是v-slot指令但是v-slot只能用在template元素上(以及组件本身,这时组件的内容只能分发给匹配(根据name)到的插槽,且组件内容不允许出现多个指定插槽如<my-comp v-slot><template>test</template></my-comp>(这是所谓的默认插槽缩写语法),其中的内容不允许再有v-slot的绑定,否则
2021-04-04 14:06:22
305
原创 async await/promise的简单例子
1,async await/promise的简单用例;//简单例子;function initProtoOfDailyPaln(proto){ proto.cancel = function cancel(){ //暂时不考虑取消正在进行的活动; if(this.queue.length === 0){ console.log('计划队列里已无计划,恭喜完成了所有计划'); }else{ var
2021-04-03 09:26:20
131
原创 ES6——关键字let和const
ES6新增关键字let和const,用来定义变量;1,关键字let的特点:声明块级作用域变量;不允许多次声明同一个变量;不存在变量声明提升;块级作用域下使用let或const命令或形成一个作用域封闭去(暂时性死区)即不允许变量在声明前使用;for语句上声明的变量与上一次声明的变量不是同一个,即for语句上声明的变量是局部变量,不是全局变量;let关键字的使用://不能重复定义同一个变量---------var hello = 'hixi';var hello = 'ed';let tes
2021-04-01 11:05:08
954
原创 JS——变量声明提升
在javaScript,使用var关键字声明变量,声明语句会被提升到代码块顶部,函数的声明也会被提升;有以下几点现象:1, 简单的提升//严格模式下,使用未定义的变量会报错:---------------------'use strict';var b = c; //没有报错,因为JS的变量声明提升机制var c = 9;console.log(b);//undefinedconsole.log(c);//9c=10;//变量声明提升只是把声明变量的语句提升到最顶;赋值语句和其
2021-03-31 14:09:29
181
原创 JavaScript/ES6中的数组
数组的创建、检索、删除、添加、使用场景、等等 ES6新添加的特性;;现在先全方位地了解数组;多个数组之间地操作;数组与其他类型数据地转换:字符串和对象
2021-03-29 08:46:09
635
原创 Vue——全局API(2.x)
Vue的全局API:Vue.extend,Vue.component,Vue.use, Vue.delete,Vue.set,Vue.filter, Vue.directive,Vue.compile,Vue.nextTick, Vue.version, Vue.observable,Vue.mixin。1,Vue.extend: 它的作用是用于扩展Vue构造器,新增一些选项(props,data,computed),这些可能是每个Vue实例都需要用到的;在Vue.extend代码中,创建并返回一个S.
2021-03-26 23:13:28
173
原创 ES6——了解模块
1,ES6引入模块化,其设计思想是在编译时,就能确定模块的依赖关系,以及输入输出的变量(可以认为是导入导出的变量);模块可以导入导出各种类型的变量:函数、对象、数字、字符串、布尔值等;在模板定义的变量是局部变量,只在本模块的环境下使用,因此不会污染全局作用域;多次import同一模块最终就执行一次import;模块是单例模式,只被import一次,之后的import该模块,则会从缓存中获取该实例;模块本身的实现是在严格模式下的;2,import、export、as、default的使用:
2021-03-26 09:44:33
91
原创 改变函数中的this
bind call apply;原型或非原型, Function.prototype.bing 跟 (function test(){}).bind有什么不一样?对箭头函数不起作用
2021-03-13 23:39:23
121
原创 ES6——函数、箭头函数、箭头函数中的this
1,箭头函数的出现在一些情况下给开发带来便利。2,箭头函数中的this变量:箭头函数没有自身的this指向,箭头函数中的this是个变量,在定义时,this指向当前所在作用域的上下文,如果在当前没找到this的变量,就向上一层作用域查找:var obj1 = { a: 'hi', b: function(){ var re = ()=> {console.log(this.a); }; //此时的this指向上下文环境是obj1 retur
2021-03-13 22:54:10
284
原创 Angular、React、Vue,对组件的子元素的处理
1,Vue:使用slot2,Angular:使用ng-content3,React:使用children的prop
2021-03-09 14:07:10
85
原创 ES6的 迭代器
1,iterator 迭代器是ES6提出的一种新的遍历机制,目的是让各种数据结构可方便地被访问。可迭代对象由Symbol.iterator实现,用Symbol.iterator作为对象的属性,键Symbol.iterator的值是个生成器函数,生成器函数的执行返回一个迭代器,可见 迭代器对象与Symbol.iterator和生成器函数之间的关系。Symbol.iterator标识着迭代器。如:var obj = {key1: 'val1', key2: 'val2'};for(var val of
2021-03-04 15:44:29
205
1
原创 ES6 的Symbol
1,ES6的Symbol目前还处在实验中,并不是所有的Symbol特性都被支持,尤其是IE浏览器,在IE浏览器,估计还没实现对Symbol这个函数的支持。这篇文章主要总结Symbol函数、Symbol.iterator、Symbol.for、Symbol.keyFor(其实Symbol还有很多其他的属性或方法,暂不提)。2,Symbol的目的:语法是Symbol([Description]),可传作为描述的参数。Symbol值不是对象是原始值。Symbol不是构造函数,new Symbol([Desc.
2021-03-04 00:43:10
216
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人