自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 实现数组去重的几种方式

测试用例const array = [1, 1, 1, 1, '1', '1', null, null, undefined, undefined];1.两层for循环for (let i = 0; i < array.length; i++) { for (let j = i + 1; j < array.length; j++) { if (array[i] === array[j]) { array.splice(j, 1);//注意

2022-03-08 16:03:29 323

原创 手写深拷贝

基本实现了深拷贝的功能,一些特殊情况,如循环引用等没有加入其中。 function deepClone(obj) { if (typeof obj !== "object") return obj; //如果传进来的参数不是数组或对象, 直接返回参数本身, 不解释 const result = Object.prototype.toString.call(obj) === '[object Array]' ? [] : {}; //使用了比较高级的判断数组的方法, 如

2022-03-07 20:20:53 95

原创 手写 new 关键字

function New(fn, ...args) { const instance = {}; //创建一个空的实例对象 const result = fn.call(instance, ...args); //改变构造函数中的this指向并且传入参数,执行该构造函数 instance.__proto__ = fn.prototype //实例的__proto__指向构造函数的prototype,使得对象可以访问到构造函数原型上的属性 return resu

2022-03-04 20:51:06 209

原创 原型链的终极理解

话不多说,先上原型链神图, 非常清晰明了个人对原型链总结如下:所有构造函数的 __proto__都默认指向Function.prototype所有对象的__proto__都指向Object.prototype

2022-03-03 20:53:46 211

原创 用百分比布局实现自适应正方形

DOM结构 <div class="box"> <div class="adaptiveSquare"> </div>方案一:给正方形设置padding-top撑开高度 .adaptiveSquare { width: 50%; height: 0; padding-top: 50%; /* padding是相较于父元素的宽度的,所以只要和width一样宽就是正方形了 */ backg

2022-03-02 20:09:43 331 1

原创 手写防抖节流函数

function deBounce(fn, delay) { let timer = null; //这里巧妙地运用了闭包的特性,使得timer不仅不会被销毁,并且避免了每次都初始化一遍 return function (e) { if (timer) { clearTimeout(timer); //若之前的定时器还在,则清空之前的定时器 } timer = setTimeout(() =&

2022-02-27 19:54:48 184

原创 【vue】当窗口改变时如何强制刷新组件

我们假定component为我们需要刷新的组件<component :key="key"></component>实现的核心思路是:用window.onresize监听窗口的改变,通过组件key值的改变来强制刷新组件script内容如下: export default { data() { return { key: 0, clientWidth : 0,//窗口宽度 } }, created

2022-02-14 14:04:14 637

原创 输入url问题的大致提纲(持续更新)

1.URL 解析(编码)2.查询缓存(缓存相关知识)3.DNS 解析(DNS 相关)4、拿到 IP 地址发起 HTTP 请求(这块可以问网络相关各种基础知识,TCP、IP、UDP、HTTPS、HTTP2)5.建立 TCP 三次握手连接 • 如果是 HTTPS 建立 TLS 安全通道连接(HTTPS 加密方式)6.发送 HTTP 请求,这个请求可能回到代理服务器或者源服务器。(服务器代理)7.拿到 HTTP 响应(HTTP 响应码)8.根据 Content-Type 来判断响应文件类型(常用 H

2022-02-12 20:40:07 433

原创 一道不错的this指向题

function Person() { this.age = 0; console.log(this); setInterval(() => { this.age++; console.log(this); }, 1000); }const p = new Person();

2022-02-11 11:50:40 406

原创 手写vue响应式原理

dom结构<div id="app">哈哈</div>js代码const vue = { data: { name: "xiaomao", age: 1, }, }; for (let [key, value] of Object.entries(vue.data)) { Object.defineProperty(vue, key, { get() { c

2022-02-07 11:30:00 397

原创 实现call bind apply

实现callFunction.prototype.newCall = function (obj) { obj = obj || window; //obj为空时就是window obj.f = this; //给obj附加一个f方法,指向调用newCall的函数 const array = Array.from(arguments);//将类数组对象数组化,方便用数组方法 array.shift();//去掉第一个参数 obj.f(...ar

2022-02-04 09:32:43 321

原创 开发学习过程中收集到的有趣段子与图片汇总(持续更新)

1.鼓吹算法算法人上人,开发打工魂,炼丹大法好,到点就能跑,哪像开发佬,通宵少不了,想拿图灵奖,还得算法岗,至于开发岗,不如搬砖厂,开发没技术,不如搞深度,如果九八五,更能把人唬,听我一句劝,就把算法选,钱多还不卷,鄙视链顶点2.鼓吹客户端、劝退后端的金玉良言有客选客,无客选前,无客无前,算法也甜,条件允许,冲客户端,工作三年,年薪百万,前途无量,其次前端,需求频繁,温饱有余,人上人难,算法数据,收入可观,最好硕博,高端饭碗,测试开发,也可一战,随手一点,月入过万,走投无路,回家种田,日出日落,

2022-02-02 23:21:36 756

转载 css初始化代码

/* 把我们所有标签的内外边距清零 */* { margin: 0; padding: 0}/* em 和 i 斜体的文字不倾斜 */em,i { font-style: normal}/* 去掉li 的小圆点 */li { list-style: none}img { /* border 0 照顾低版本浏览器 如果 图片外面包含了链接会有边框的问题 */ border: 0; /* 取消图片底侧有空白缝隙的问题 */ v

2022-02-01 13:03:21 114

原创 vue项目中安装scss

1.安装node-sass,命令如下:npm install node-sass@4.14.1 --save-dev2.安装sass-loader,命令如下:npm install sass-loader@7.3.1 --save-dev注:安装node-sass与sass-loader最好指定其版本,版本之间不对应可能会产生安装错误!!!...

2022-01-31 19:05:04 1830

原创 几道很不错的作用域和闭包题

var a = 0, b = 0; function A(a) { A = function (b) { alert(a + b++); }; alert(a++); } A(1); A(2);输出结果为1和4.重点思路是:A(1)调用A函数后,AO活动对象创建,这时只会有值为1的a这一个属性,作用域链为[AO,Global],于是程序接着运行,将挂载到全局对象Global上的A变为了fun(b),此时fu

2022-01-29 10:07:32 945

原创 给定若干按钮,如何记录每一个按钮的累计点击次数?

给定若干按钮,如何记录每一个按钮的累计点击次数?dom结构 <div class="buttons"> <button>1</button><button>2</button><button>3</button><button>4</button> </div>js代码let buttons = document.querySelectorAll("button")

2022-01-20 22:15:36 1687 1

原创 C++个数统计

个数统计:给定一个k位整数,请编写程序统计每种不同的数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入格式:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出格式:对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。输入样例:100311输出样例:0:21:33:1...

2020-04-19 01:49:04 5738 1

原创 回文字符串

回文编写程序,输入1个字符串,判断并输出该字符串是否是回文串。如果一个字符串从前往后和从后往前读的结果是一样的,该字符串称为回文,如“abcba”就是回文。输入格式:一个字符串(长度不超过99)输出格式:字符串是否为回文#include<iostream>#include<string>using namespace std;int main(){ s...

2020-04-18 22:12:22 2787

空空如也

空空如也

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

TA关注的人

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