如梦初醒的博客
React 组件间传值的几种情形 React 组件间传值的几种情形
父级传向子级这应该是最常见的一种场景,通过在子组件上写 props,将数据从父组件中传递到子组件,子组件再从 this.props 中获取相应的值,这样可以根据传入值的不同返回不同的状态,即实现组件的复用;例如: import React
2024-08-31
React 组件性能优化之 PureComponent 的使用 React 组件性能优化之 PureComponent 的使用
在 React 类组件中,如果状态(state)发生变化,便会触发组件的重新渲染(执行 render 方法),并且是包括所有子组件在内的全部重渲染,无论某些子组件是否有用到 state 中的值;但有些时候部分子组件计算或渲染工作量较大,并且
2024-08-31
JavaScript与二进制数据的恩怨情仇 JavaScript与二进制数据的恩怨情仇
编程江湖,终日血雨腥风,论及二进制数据,又有多少豪杰谈笑风生,风生水起,水起船高,高深莫测…… 不扯远了,想必谈到二进制数据,大家联想到的就会是 1010110110001 或者 00000000 11111111 00000101 这样的
2024-08-31
JavaScript之注释规范化(JSDoc) JavaScript之注释规范化(JSDoc)
前言俗话说,无规矩不成方圆;虽说代码敲出来都是交给编译器解释执行的,只要不存在语法格式错误,排版无论多么反人类都是没有问题的,但是代码除了执行外的另一个广泛用途就是阅读了,翻阅自己过去的代码、理解别人的源码,等等;所以出现了代码风格化,美化
2024-08-31
JavaScript 面向对象编程 JavaScript 面向对象编程
概述面向对象编程思想,顾名思义,即模仿现实世界的存在物,一切节对象,拥有各自的特性与行为,如人类,外貌、肤色、身高、体重等是其特征,能吃饭睡觉行走是其行为; 同样,编程中,一个对象拥有 **属性(key/property)**,相当于人类的
2024-08-31
JavaScript 闭包详解 JavaScript 闭包详解
变量作用域首先来了解一下Javascript中变量的作用域,除了常见的普通变量外,对象和函数也是一种变量。变量分为局部变量和全局变量。 局部变量局部变量就是指在函数内部定义的变量,作用域是函数内部网,此变量通常只能在函数内部访问,和外界是区
2024-08-31
JavaScript 经典设计模式 JavaScript 经典设计模式
设计模式(Design Pattern)是一套被反复使用的代码设计经验总结,一个模式可以是一套可复用的方案,或者一个解决某一类问题的模板;使用固定的模式(解决方式)解决软件开发中的某些问题,利于代码的可理解性与可靠性,比如,比起设计一套标新
2024-08-31
JavaScript 逻辑运算符 “&&” 和 “||” 短路原则的应用 JavaScript 逻辑运算符 “&&” 和 “||” 短路原则的应用
逻辑运算符在Javascript中,有逻辑运算符 与 &&, 或 ||, 非 !,常在条件句或循环中进行逻辑判断。 例如: var a = 1, b = 1, c = 2; if (a = b && (b =
2024-08-31
JavaScript 计时器函数用法 JavaScript 计时器函数用法
Javascript中和大多数语言一样,存在计时函数,使某语句或函数不用立即执行,可以延时设定的时间值之后再执行。 setTimeout()这个函数表示括号中的代码,延时指定时间后再执行,格式为 setTimeout("funct
2024-08-31
JavaScript 类型转换的有趣应用 JavaScript 类型转换的有趣应用
背景 可以访问这个网站提前预览:https://knightyun.github.io/magic-expression/ 先来看一串代码: (!(~+[])+{})[--[~+''][+[]]*[~+[]]+~~!+
2024-08-31
JavaScript 稀疏数组 JavaScript 稀疏数组
稀疏数组概念在一些后端语言中,如 C,数组内的值通常被分配在一系列连续的内存地址上,但是在 js 中,某些数组内存则不是连续的,所谓稀疏,顾名思义,不连续,存在一些空隙; 例如: var arr = new Array(3); consol
2024-08-31
JavaScript 深度迭代遍历未知对象 JavaScript 深度迭代遍历未知对象
面向对象编程的语言,都存在对对象的一些操作,其中就包括遍历未知对象的属性值。 通常情况常见的遍历对象的方法: var o = { name: 'cloud', age: 20 } for (i in o)
2024-08-31
2 / 3