自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 webpack babel

index.js文件// @babel/polyfill会将es6所有的兼容性都引入。但是我们可能只使用某一部分。// 我们需要按需加载(使用了什么ES6语法,就引入相应的兼容性处理)// import '@babel/polyfill';const promise = new Promise((resolve) => setTimeout(resolve, 1000));class Person { constructor(name, age) { this.name =

2022-05-19 15:06:41 127

原创 DOM相关

这里写目录标题获取DOM与视窗的位置获取DOM与视窗的位置getBoundingClientRect

2021-10-20 15:24:05 116

原创 rc-Table

import React, { PropTypes } from 'react';import TableRow from './TableRow';import { measureScrollbar, debounce } from './utils';import shallowequal from 'shallowequal';import addEventListener from 'rc-util/lib/Dom/addEventListener';const Table = Reac

2021-09-22 18:25:41 2066

原创 20210517

moboShoppingList: [{apDiscount: “0.20”,apPrice: “32.00”,count: 1,description: “经典必选”,imageUrl: “https://disney-image-test.oss-cn-shanghai.aliyuncs.com/combo/meal/熏鸡凯撒色拉Chicken Caesar Salad.jpg”,isSoldOut: 0,mealItemId: 8,mealItemName: “凯撒色拉”,meal

2021-05-17 16:54:09 136

原创 容错机制

对象?形式a?.is()Object.assign({},undefined,null)如果首参数是对象,其他参数为其他数据类型,也不会报错,首参数为非对象则会保存

2021-04-28 14:15:11 114

原创 String和RegExp

String和RegExpStringString遍历方法String查找字符String根据下标获取字符字符串截取(根据下标截取字符串)String大小写转换String创建判断字符串转数组字符串增删改查总结正则:RegExp 字符串对象判断是否匹配正则表达式:面试题StringString遍历方法for循环String查找字符str.CharAt(index) / str[index] String根据下标获取字符获取下标所在的字符(找不到返回’’);同str[index] (找不到返

2021-04-20 15:51:46 314

原创 Array数组方法-mdn

数组几大功能分类遍历Array.from(arr,fn) 第二个参数类似mapArray.prototype.filter(fn) 过滤,返回过滤后新数组遍历时,将返回值为true的元素放入新数组Array.prototype.forEach(fn) 同for循环Array.prototype.map(fn) fn必须得有返回值将元素拿出来变换之后放到新数组中Array.prototype.reduce(fn,initVal) 返回值类型取决于initVal,第二个参数fn(acc,cu

2021-04-05 18:38:56 1984

原创 nodeJS

这里写目录标题nodeJS组成nodeJS异步代码执行顺序:nodeJS组成浏览器js组成:DOM: documentBOM:historynavigatorECMAScript语法规范nodejs的js组成:没有DOM。基本没有BOM,有少量语法 console.log / setTimeout / setIntervalECMAScript全部实现了global是nodejs的全局对象,相当于windowconsolesetIntervalset

2021-03-26 15:36:36 109

原创 TS

这里写目录标题接口 enum接口 enumenum ConfigPng { item1 = 123, item2 = 455, item3 = ‘time’}直接使用ConfigPng[a]会一直报预发错误,虽然代码可以运行解决方法:as keyof typeof RightsTypes研究ts这种写法

2021-03-11 15:09:56 531

原创 JS面试知识点4-闭包

闭包:函数A中有一个函数B,函数B能够访问到函数A的变量,函数B就是闭包。概念上就是:闭包就是能够访问另一个函数作用域变量的函数。在JS中函数中,定义一个函数,函数内查找变量只能在自身函数作用域找,找不到则到window中查找。但是闭包的函数是可以访问到另一个函数作用域中的变量。闭包存在的意义:能够访问到函数内部的变量for (var i = 1; i <= 5;i++){ setTimeout( function timer(){console.log(i)},

2021-03-07 11:13:07 117

原创 JS面试知识点6-原型链

目录前言:怎么理解原型?前言:JS本身就是一个基于原型链继承的语言。class 的 extends 本质也是原型链继承怎么理解原型?总结内容:所有对象都可以通过__proto__属性找到Object所有函数都可以通过__proto__属性找到Function (fn.prototype.proto)函数的prototype属性是一个对象对象的__proto__属性指向原型,__proto__将对象和原型连接起来组成了原型链并不是所有函数都有prototype属性,原型链就是多个对象

2021-02-28 17:26:36 170

原创 Object/Function/Boolean/Symbol/Map-mdn

JS标准-内置对象基本对象Object创建对象Object.assignObject.assign(obj1,obj2…)说明:将obj1复制到obj2…重属性名的被后面的覆盖;作用:对象的浅拷贝转数组Object.keysObject.keys(obj)说明: 将属性名转数组Object.values(obj)将属性值转数组常用于判断是否有error,如果满足条件给对象添加属性值,最后判断Object.values(resultObj)后的length是否>

2021-02-27 14:17:03 166

原创 JS面试知识点7-ES6

let&const的区别var存在提升,函数会被提升到作用域的最顶层,变量提升只是声明提升到作用域顶层var存在提升, 所以能在赋值之前获取;let、const因为暂时性死区,不能在声明前使用var声明的变量会挂靠给window,作为window的属性;let、const不会let、const作用基本一致,后者不能再次赋值。面试:ES6中用到了什么?class:如果没有class基本上使用原型链实现继承,Promise,异步的内容,EventLoop,proxylet,var:变量提

2021-02-25 22:37:30 107

原创 TypeScript

TS是什么?whatJS高级为什么?why提高开发效率怎么用? how一、下载npm install -g typescripttsc -V二、 如何编译成js方法1: 手动编译tsc hello.ts方法2: VScode监视配置文件自动编译tsc --init生成tsconfig.json文件添加"outDir"vscode顶部工具栏->终端->运行任务->tsc:监视tsconfig.json方法3: webpack编译配置w

2021-02-24 22:01:59 169

原创 Sketch

Sketch导出图标参考教程:导出图标链接选中整个图标组右侧属性栏-预设选择以下属性

2021-02-04 17:06:29 83

原创 React报错

React报错欢迎使用Markdown编辑器报错1:Uncaught Invariant Violation(未捕获的变量违规)欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。报错1:Uncaught Invariant Violation(未捕获的变量违规)报错内容:react-dom.development.js:49 Uncaught

2021-01-29 16:19:47 863

原创 使用位操作

取模由于偶数的最低位为 0,奇数为 1,所以取模运算可以用位操作来代替。if (value % 2) {// 奇数} else {// 偶数}// 位操作if (value & 1) {// 奇数} else {// 偶数}复制代码取整~~10.12 // 10~~10 // 10~~‘1.5’ // 1~~undefined // 0~~null // 0复制代码位掩码const a = 1const b = 2const c = 4const o

2020-12-04 18:35:52 99

原创 浏览器的渲染原理

浏览器的渲染原理目的: 为了解决性能问题需要了解:执行JS,宿主环境需要有个JS引擎去执行;执行渲染也有一个渲染引擎Firefox中叫GeckoChrome和Safari是基于Webkit开发的所以需要了解Webkit这部分渲染引擎内容Html标签会生成DOM树CSS会生成CSSOM树DOM树和CSSOM树组成成为渲染树为什么DOM渲染慢?因为DOM属于渲染引擎的东西,执行JS需要JS引擎执行,如果使用JS操作DOM,就需要渲染引擎和JS引擎两个线程进行通信和切换,这就是造成性能的

2020-12-02 15:54:51 89

原创 每天一个React知识点

文章目录Virtual DOMVirtual DOM 的优势JSXReact生命周期React hook使用hook的原因React API方法React.createContextReact组件React组件通信HOC结合new Map对组件进行复用React性能优化shouldComponentUpdate生命周期:componentWillUnmountcomponentWillReceivePropsuseCallbackReact.memo()window其他知识点大列表渲染:React-wind

2020-12-02 10:57:02 511

原创 一天一个CSS属性

文章目录line-heightbackground-positionbackground-imagebackgroundradial-gradient函数理解一、pandas是什么?二、使用步骤1.引入库2.读入数据总结line-height属性值案例<div style="line-height:150%;font-size:16px;background-color: rosybrown;"> 父元素内容 <div style="font-size:30px;backg

2020-12-01 15:56:46 193

原创 CSS面试相关问题

CSS的盒子理解:元素被一个一个盒子包围着;盒子分为: 块级盒子 block box 内联盒子 inline box控制盒子属于显示哪种类型:控制盒子外部显示类型:display: block display: inline-block 控制盒子内部显示类型:display: flexJS获取盒子宽高clientHeight : 盒子可视区域的宽高;heigh+paddingoffsetHeight: 加上了盒子边框 (一般使用offsetHight/offsetWid

2020-11-16 19:09:19 780

原创 前端监控

性能监控performance.getEntriesByType('navigation')connectEnd:47.04500000025291connectStart:17.65999999952328decodedBodySize:1641domComplete:51934.715000000324domContentLoadedEventEnd:1627.744999999777domContentLoadedEventStart:1601.740...

2020-11-12 17:03:34 90

原创 vscode

1. 折叠所有区域代码的快捷: ctrl + k ctrl + 0 ; 先按下 ctrl 和 K,再按下 ctrl 和 0 ; (注意这个是零,不是欧)2. 展开所有折叠区域代码的快捷:ctrl +k ctrl + J ; 先按下 ctrl 和 K,再按下 ctrl 和 J ;...

2020-11-03 14:15:55 54

原创 JS面试知识点10-手写代码

call、apply、bind函数内部实现是怎么样的 /* 参数, 调用函数, 返回值, */ Function.prototype.myCall = function (obj, ...args) { if (typeof this !== 'function') { throw new Error('not a function') } const that = obj || window; ..

2020-10-20 15:58:45 91

原创 JS面试知识点9-模块化

AMD CMD CommonJS ES6*//*为什么要使用模块化:1. 解决命名冲突2. 提供复用性3. 提高代码可维护性*//* 早期解决命名冲突和污染全局变量的方法:使用立即执行函数 */; (function (value) {value.name = 'lisa';console.log(value);value.test = function () { }})(12);/* AMD 和 CMD *//* CommonJS *..

2020-10-16 17:32:15 96

原创 JS面试知识点8-继承

/* 创建对象 */function createCar(color, passengers, brand) {var car = new Object();car.color = color;car.passengers = color;car.brand = brand;car.outBrand = function () {console.log(this.brand)}return car;}/* 方法1: 构造函数和原型的:组合继承优点是:构.

2020-10-16 16:44:38 159

原创 JS面试知识点5-浅拷贝&深拷贝

因为对象赋值的时候,复制的是地址值,所以会出现一方修改了,其他都被修改的问题。浅拷贝就是为了解决这个问题。let a = {age: 22};let b = a;a.age = 11;console.log(b.age); //11 浅拷贝的方法: 1、 方法1: Object.assign()let a = {age:22}let b = Object.assign({},a);a.age = 11;console.log(b.age); //222、方法2:三点

2020-10-11 16:56:02 147

原创 JS面试知识点3-==vs===

==如果数据类型相同,则等同于===,就对比值是否相等 如果数据类型不相同,会进行数据类型的转换。判断x,y是否相等的流程:如果双方数据类型相等, 就对比值,等同于=== 如果不相同,则进行数据类型的转换 判断是否对比null和undefined,是则返回true 判断两则类型是否string和number,是则将string转number 判断其中一方是否为boolean,是则将boolean转number 判断其中一方是否为object,且另一方为string/number/

2020-10-10 15:54:20 181

原创 JS面试知识点2-this

function foo(){ console.log(this.a)}var a = 1;const obj = { a: 2, foo: foo}obj.foo();const c = new foo();function a(){ return ()=>{ return ()=>{ console.log(this) } }}a()()();let a = {};let f.

2020-10-10 15:15:53 187

原创 css调试

控制台输入:var css = document.createElement('style')css.innerHTML = `* { background-color: rgba(255,0,0,.2); }* * { background-color: rgba(0,255,0,.2); }* * * { background-color: rgba(0,0,255,.2); }* * * * { background-color: rgba(255,0,255,.2); }* * *

2020-10-08 17:13:26 125

原创 JS面试题

数组扁平化const arr = [1, [2, [3, [4, 5]]], 6];const res1 = arr.flat(Infinity); //方法1:数组flat方法const res2 = JSON.parse('['+ JSON.stringify(arr).replace(/\[|\]/g,'').split(',') +']') //方法2:JSON加正则的方法function flatten(arr){ return arr.reduce((acc,c.

2020-09-27 16:22:22 101

原创 JS面试知识点1-JS类型转换

JS类型转换

2020-09-27 10:47:42 85

原创 JSON序列化对象-mdn

描述JSON是一种语法 用来序列化对象,数组,字符串,布尔值和null。其他都不可以一、JSON.parse(text,[reviver])解析JSON字符串;返回值:Object对象 text:JSON字符串 reviver:转换器,一个遍历的函数,对返回的JS对象进行处理 二、JSON.stringify(value,[replacer,[space]])​​​​​​​​​​​​​​参数 replacer 函数/数组 space 描述 布...

2020-09-18 14:34:13 808

原创 JS数据类型-mdn

数据类型:基本数据类型+引用数据类型 Boolean,String,Number,Undefined,Null,Symbol,Object区别:考点:深拷贝/浅拷贝 了解原理

2020-09-15 11:40:30 741 1

原创 Number/Math/parseFloat/parseInt/Date数字日期对象-mdn

Math.ceil(x) 向上取整,接近正无穷大 Math.ceil(12.01) => 13 Math.ceil(-12.9) => -12 Math.floor(x) 向下取整,接近负无穷大 Math.floor(12.01) => 12 Math.floor(-12.9) => -13 Math.round(x) 四舍五入 常用:四舍五入到指定精度,并保留指定小数点的位数 function round(number, precision) ...

2020-09-14 15:24:36 267

原创 正则

正则 \d: 数字。value.replace(/[^\d.]/g,’’) * 匹配前一个表达式0次或多次;等价于{0,}。 . 匹配除换行符之外的任何单个字符。 .* 任意字符 + 匹配前面的表达式1次或多次,等价于{1,} [^xyz] ...

2020-08-26 14:50:35 116

原创 python-列表

python列表练习:购物车程序需求:启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就直接扣款,不过就提醒用户选择商 品后,检测余额是否够,够就直接扣款,不过就提醒可随时退出,退出时,打印已购买商品和余额可随时退出,退出时,打印已购买商品和余额product_list = [ ("St...

2018-11-23 10:47:11 205

03.vue面试题100问-完整版.md

vue

2021-04-19

CSS知识点汇总.xmind

CSS

2021-04-16

react知识点汇总.xmind

react知识点

2021-04-16

21-Vue 常考进阶知识点.htm

21-Vue 常考进阶知识点.htm

2021-04-12

20-Vue 常考基础知识点.htm

20-Vue 常考基础知识点.htm

2021-04-12

空空如也

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

TA关注的人

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