- 博客(17)
- 收藏
- 关注
原创 TypeScript 关键字
abstract用于定义抽象类和抽象方法,抽象方法必须在抽象类中,具体实现在继承的类中实现。public 成员默认可见性为public,一个public的成员在任何地方都可以被获取。as 断言可以将日常宽泛的数据类型定义具体化,避免造成数据处理错误。private 成员只能在声明类的,内部进行访问,即派生类也不可访问。关键字 declare 表示声明的意思,我们可以用它来做出各种声明。protected 成员仅对子类可见,在派生类中可以访问。declare 是给编译器读取用的,可以暂时不调用。
2022-11-06 16:28:46 614
原创 图片懒加载 + 节流
<!-- * @Description: 图片懒加载 * @Version: 1.0 * @Autor: Helx * @Date: 2021-12-30 15:14:10 * @LastEditors: Helx * @LastEditTime: 2021-12-30 16:51:49--><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l.
2021-12-30 17:07:47 87
原创 JavaScript 中 apply()、call()、bind() 的用法以及区别
一、作用apply、call、bind、作用都是改变函数执行时的上下文,也就是改变函数运行时this的指向。var content = { name: 'my name'}var name = 'helx';var obj = { name: '你的名字', sayName: function (...args) { console.log('name:', this.name); console.log('args:', args); }}obj.sayN...
2021-12-21 19:34:39 645
原创 前端基本的排序算法
1.冒泡排序:通过相邻元素的比较和交换,使得每一趟都能找到未有序数组的最大值或者最小值时间复杂度:最好:O(n)最坏:O(n^2)最平均:O(n^2)function bubbleSort(arr) { console.time('冒泡排序耗时'); let arr = [...arr]; // 做浅拷贝避免影响原数组 for (var i = 0, len = arr.length; i < len; i++ ) { // 为什么arr.le...
2021-12-09 23:24:43 368
原创 Set和Map基本用法
一、SetSet本身是一种构造函数,用来生成Set数据结构var s = new Set();var arr = [1,2,1,3,4,3,2,5,5];arr.map(x => s.add(x));// 使用add方法向Set增加数据for(let i of s){ console.log(i)}12345//=》自带去重功能var arr = new Set([1,2,3,4,5,'5',6,7,7,7])arr.size//=》8,Set中5和'5'是不同的
2021-12-02 20:18:04 771
原创 Object.defineProperty和Object.defineProperties的使用
关于Object.defineProperty的讲解 =》https://blog.csdn.net/qq_39258552/article/details/842350501.Object.defineProperty()var obj = {}Object.defineProperty(obj,‘name’,{configurable: false,writable: false,enumerable: false,value: ‘xxxx’})obj.name = 111 //尝试修
2021-11-26 00:13:12 510
原创 函数-防抖和节流
<!-- * @Description: * @Version: 1.0 * @Autor: Helx * @Date: 2021-05-16 22:52:23 * @LastEditors: Helx * @LastEditTime: 2021-11-18 19:19:13--><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <met.
2021-11-18 19:27:22 604
原创 javaScript-实现深拷贝/浅拷贝
1.浅拷贝浅拷贝:只复制一层对象,当对象的属性是引用类型时,实质复制的是其引用,当引用值发生改变时,也会跟着改变。var shallClone = obj => { var res = {}; for (var key in obj) { //判断是否为自身属性,非继承 if (obj.hasOwnProperty(key)) { res[key] = obj[key]; } } return res;}var obj = { t
2021-11-11 17:38:46 728
原创 javascript-数组方法
数组原型提供的方法非常之多,主要分为三种,一种是会改变原数组值的,一种是不会改变自身值的,另外一种是遍历方法。一、改变原数组1.Array.prototype.pop说明:删除数组中最后一个元素,并且 返回这个元素var arr = ['apple', 'banana', 'orange'];var name = arr.pop();name; //'orange'arr;// ['apple', 'banana']2.Array.prototype.push说明:向数组添..
2021-11-01 17:02:08 439
原创 javaScript-基本数据类型
JavaScript原始数据一共有7种分别是:null,undefined,string,number,boolean,object,Symbol;其中Symbol是ES6中新增。1.null 在JS中它是被看作不存在的事物,undefined也是从它派生而来,实际上JS中所有对象的都是从它派生。可以通过原型链查看Object.prototype.__proto__ === null 结果是true;null通常被用来清空对象。2.undefined当声明的变量未赋值时便为unde...
2021-10-19 23:05:31 221
原创 类型检测 typeof 、instanceof、Object.prototype.toString
typeof // 适合函数类型和基本类型的判断typeof 对应类型的值typeof(1) // => 'number'typeof("null") // => "string"typeof(true) // => "boolean"typeof(false) // => "boolean"typeof(undefined) // => "undefined"typeof(Symbol('sys')) // => "s.
2021-09-28 20:14:53 132
原创 关于React中useCallback使用出现的问题。
关于React中useCallback使用出现的问题。一.useMemo和useCallback的区别 及使用场景问题描述:页面A中的a1模块(子),会随着其它模块的变化而重新渲染,将useCallback改为useMemo计算a1的内容则不会发生此现象, useMemo 和 useCallback 接收的参数都是一样,第一个参数为回调 第二个参数为要依赖的数据;共同点:1.仅仅 依赖数据 发生变化, 才会重新计算结果,也就是起到缓存的作用。两者区别:1.useMemo 计算结果是 retur
2021-09-27 23:59:59 1078
原创 前端自动化部署—Jenkins
前端自动化部署—Jenkins最近换了新项目,前端工作一直在进行。每次本地代码改完提交后,总是会有人提出服务器上的代码更新了吗?功能怎么还是没变等问题,于是就干脆请教了一下同事搞个项目自动化部署的。(在Linux上部署,需要用到xshell,和xftp)部署jenkins一、主要步骤:1.获取包sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo // 若出现链接
2021-09-19 00:18:21 183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人