<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[anr_safely的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/anr_safely</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; anr_safely]]></copyright><item><title><![CDATA[前端实现树形结构模糊搜索]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/138182978</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/138182978</guid><author>anr_safely</author><pubDate>Thu, 25 Apr 2024 11:06:39 +0800</pubDate><description><![CDATA[方式二：父节点含有搜索内容，无需向下继续搜索，直接返回改节点及下面所有子节点。方式一：父节点含有搜索内容，则需向下继续搜索，返回含有搜索内容的子节点。]]></description><category></category></item><item><title><![CDATA[手写js数组方法：some、every、filter、find、forEach、map、sort]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/132102224</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/132102224</guid><author>anr_safely</author><pubDate>Fri, 04 Aug 2023 13:21:06 +0800</pubDate><description><![CDATA[【代码】手写js数组方法：some、every、filter、find、forEach、map、sort。]]></description><category></category></item><item><title><![CDATA[javascript数组去重]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/131958468</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/131958468</guid><author>anr_safely</author><pubDate>Thu, 27 Jul 2023 14:00:29 +0800</pubDate><description><![CDATA[【代码】javascript数组去重。]]></description><category></category></item><item><title><![CDATA[字符串方法]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/131957502</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/131957502</guid><author>anr_safely</author><pubDate>Thu, 27 Jul 2023 12:46:38 +0800</pubDate><description><![CDATA[字符串方法




方法
功能
参数
是否改变原数组
返回值




replace(参数1，参数2)
替换，只能替换第一个符合要求的子串
参数1：旧子串，参数2：要替换成的新子串
否
返回替换之后的新字符串


split(参数1)
分隔
[参数1]可选，分隔符
否
返回分隔之后的新数据


slice(参数1，参数2)
截取，左闭右开
参数1：开始索引，参数2：结束索引
否
返回截取的字符区间


substring(参数1，参数2)
截取，左闭右开
参数1：开始索引，参数2：结束索引(可以为负)
否
]]></description><category></category></item><item><title><![CDATA[vue2 VS vue3 数据双向绑定]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/125936820</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/125936820</guid><author>anr_safely</author><pubDate>Fri, 22 Jul 2022 17:33:31 +0800</pubDate><description><![CDATA[vue2 和 vue3 数据双向绑定的区别以及优缺点]]></description><category></category></item><item><title><![CDATA[GET http://10.136.74.118:8080/sockjs-node/info?t=1652668758843 net::ERR_CONNECTION_TIMED_OUT]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/124795174</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/124795174</guid><author>anr_safely</author><pubDate>Mon, 16 May 2022 10:51:36 +0800</pubDate><description><![CDATA[node_modules 文件下，
sockjs-client / dist / sockjs.js 文件
注释第1609行 self.xhr.send(payload) 即可；
缺点：热更新会失效



]]></description><category></category></item><item><title><![CDATA[解决公钥问题:Please make sure you have the correct access rights and the repository exists.]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/122359219</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/122359219</guid><author>anr_safely</author><pubDate>Fri, 07 Jan 2022 11:11:01 +0800</pubDate><description><![CDATA[报错：Please make sure you have the correct access rights and the repository exists.

翻译：请确保您拥有正确的访问权限并且存储库存在。
个人原因：git账号登录错误，应填写username
解决：

删除.ssh文件夹下的所有文件；
在桌面点击右键，选择Git Bash Here，打开git命令行；
设置用户名：git config --global user.name ‘xxx’
设置用户名邮箱：git config --gl]]></description><category></category></item><item><title><![CDATA[javascript中的数组方法（含ES5.ES6）]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/119911098</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/119911098</guid><author>anr_safely</author><pubDate>Wed, 25 Aug 2021 14:45:09 +0800</pubDate><description><![CDATA[方法
功能
参数
是否改变原数组
返回值




push()
尾插
任意个任意值
是
返回操作之后的数组长度


pop()
尾删
无参
是
返回被删除的数据


unshift()
头插
任意个任意值
是
返回操作之后的数组长度


shift()
头删
无参
是
返回被删除的数据


reverse()
逆序
无参
是
返回操作之后的数组


sort()
排序
回调函数
是
返回操作之后的数组


join()
转为字符串
无参
否
返回字符串


concat()
拼接数组
任意值，任意个...]]></description><category></category></item><item><title><![CDATA[元素水平垂直居中]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/119680584</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/119680584</guid><author>anr_safely</author><pubDate>Fri, 13 Aug 2021 17:29:16 +0800</pubDate><description><![CDATA[一、一行文本水平和垂直居中

水平居中：text-align:center
垂直居中：line-height:父元素的高

二、行内元素水平和垂直居中

水平居中：

给父元素添加text-align:center
行内元素没有脱离文档流(absolute,fixed,float)


垂直居中

法一：给父元素添加padding-top:((父height - 子height) / 2)px
法二：给子元素添加position:absolute;top:50%;margin-top:-(子height/2]]></description><category></category></item><item><title><![CDATA[HTML5新增内容]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/107208343</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/107208343</guid><author>anr_safely</author><pubDate>Wed, 08 Jul 2020 16:10:51 +0800</pubDate><description><![CDATA[HTML5新增内容

新增语义化标签
新增表单类型
新增表单属性
新增表单元素
新增表单事件
新增多媒体标签

新增语义化标签

header 表示页面中一个内容区块或整个页面的标题
main 表示页面中的主要内容 (ie不兼容)
footer 表示页面中一个内容区块或整个页面的脚注
nav 表示页面中导航链接部分
article  表示一块与上下文无关的独立的内容
section元素 表示页面中的一个内容区块
aside 在article之外的，与article内容相关的辅助信息
figure 表示一段独]]></description><category></category></item><item><title><![CDATA[javascript中的继承方式]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/106984652</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/106984652</guid><author>anr_safely</author><pubDate>Sat, 27 Jun 2020 16:44:22 +0800</pubDate><description><![CDATA[让一个构造函数去继承另一个构造函数的属性和方法
继承是发生在两个构造函数之间
是与构造函数相关的应用

1.原型对象(prototype)继承

优点：简单，方便，易操作
缺点：

不能继承构造函数里的属性和方法
只能继承原型对象身上的属性和方法



function Parent(){
	this.name = "admin";
	this.sayHi = function(){
		console.log("hi");
	}
}
Parent.prototype.show = function(){.]]></description><category></category></item><item><title><![CDATA[js中创建对象的几种方式]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/106747101</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/106747101</guid><author>anr_safely</author><pubDate>Sun, 14 Jun 2020 16:14:46 +0800</pubDate><description><![CDATA[一、字面量方式创建对象
var obj = {
	name:"admin",
	age:18,
	sex:"男",
	sayHello:function(){
		console.log(`大家好,我是${this.name},今年${this.age}岁`);
	}
}

二、内置构造函数创建对象
var obj = new Object();
obj.name = "root";
obj.age = "20";
obj.sex = "男";
obj.sayHello = function(){
		co]]></description><category></category></item><item><title><![CDATA[js中的数据类型转换]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/106127453</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/106127453</guid><author>anr_safely</author><pubDate>Thu, 14 May 2020 20:33:32 +0800</pubDate><description><![CDATA[一、字符转数值
1、 parseInt(要转成数值的字符变量或字符数据)
转换规则：从左向右依次检测，遇到非数字内容则停止转换，若第一位就是非数字，则结果直接为NaN，不识别小数点
console.log(parseInt("123"));			//123
console.log(parseInt("123abc"));		//123
console.log(parseInt("abc123"));		//NaN
console.log(parseInt("123.567"));		//123

2、par]]></description><category></category></item><item><title><![CDATA[ES6新增的箭头函数]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/105801526</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/105801526</guid><author>anr_safely</author><pubDate>Mon, 27 Apr 2020 22:50:33 +0800</pubDate><description><![CDATA[箭头函数：是一种函数的语法，符合函数的概念
特点如下：
1. 简单方便：()=&gt;{}
2. 不允许直接存在，必须作为值存在
var fn = ()=&gt;{
	console.log("hello");
}
fn();							//hello

3. 箭头函数内部没有自己的this，使用的是外层函数的this
var obj = {
	fn1:function(){
		console...]]></description><category></category></item><item><title><![CDATA[如何修改javascript中的this指向]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/105669067</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/105669067</guid><author>anr_safely</author><pubDate>Tue, 21 Apr 2020 22:28:14 +0800</pubDate><description><![CDATA[修改this指向的目的：

修正（解决隐式丢失时this指向的问题）
继承（利用this的指向，借用其他对象的方法）

1. call()方法

使用方式：函数.call(参数1，参数2…)
参数1：this的新指向
后面所有参数：表示向函数中正常传递的实参，可省略，也可以传多个
返回值：原函数的返回值

function fn(a,b){
   console.log(this);		
   c...]]></description><category></category></item><item><title><![CDATA[new关键字的内部执行原理]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/105626962</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/105626962</guid><author>anr_safely</author><pubDate>Mon, 20 Apr 2020 09:16:36 +0800</pubDate><description><![CDATA[1. 自动创建一个新对象，保存在内存中，此时拿不到
2. 改变函数内的this指向，为这个新对象
3. 执行函数内的代码，并将新对象的__proto__指向该函数的prototype
4. 检查函数是否主动返回对象，如果没有，则返回这个新对象
例如：
function Fn(){
	this.name = "anr";
	this.show = function(){
		console.log(...]]></description><category></category></item><item><title><![CDATA[javascript中的this绑定]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/105611908</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/105611908</guid><author>anr_safely</author><pubDate>Sun, 19 Apr 2020 11:39:43 +0800</pubDate><description><![CDATA[this是一个关键字，表示执行当前函数的对象

this永远跟着当前函数走，
永远是一个对象，
永远在函数执行时才能确定。

1. 默认绑定：没有明确被隶属对象执行的函数，this指向window
function fn(){
	console.log(this);				//window
	console.log(typeof this);		//object
}
fn();

- 严格模式下，...]]></description><category></category></item><item><title><![CDATA[javascript中的原型对象（prototype）和隐式原型（__proto__）]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/105589882</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/105589882</guid><author>anr_safely</author><pubDate>Fri, 17 Apr 2020 23:18:17 +0800</pubDate><description><![CDATA[1.什么是原型对象(原型)？

每一个函数（除箭头函数外）天生自带一个prototype属性，该属性称之为原型对象（原型），是一个引用类型数据。
作用：保存将来使用该函数构造出来的属性和方法，构造出来的属性和方法可以被共享。
注意：在prototype身上添加的方法不是给当前函数用的，而是给将来new函数之后得到的实例对象使用的。
prototype属性专属于函数。

function Fn(){...]]></description><category></category></item><item><title><![CDATA[详解javascript中的闭包]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/105522775</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/105522775</guid><author>anr_safely</author><pubDate>Tue, 14 Apr 2020 22:48:32 +0800</pubDate><description><![CDATA[闭包：利用函数的嵌套，实现将外层函数中的局部变量，在外层函数外部修改的过程。本质上，闭包是将函数内部和函数外部连接起来的桥梁。
闭包的形成环境：

函数的嵌套 (例：有一个函数A , 在函数A内部返回一个函数B)
内部函数使用外部函数的变量 (在函数B中访问函数A的私有作用域变量)
将内部函数返回，在外部函数的外部声明变量接收返回值，并执行 (在函数A外部,有变量引用函数B)

以上三个条件，缺一...]]></description><category></category></item><item><title><![CDATA[详解js中的undefined、NaN、null]]></title><link>https://blog.youkuaiyun.com/anr_safely/article/details/105468566</link><guid>https://blog.youkuaiyun.com/anr_safely/article/details/105468566</guid><author>anr_safely</author><pubDate>Sun, 12 Apr 2020 14:14:32 +0800</pubDate><description><![CDATA[js中三大特殊的值：

undefined
NaN
null

1.undefined
变量声明了但为赋值
console.log(typeof undefined);	//undefined
console.log(undefined);			//undefined
var a;
console.log(a);					//undefined

参与运算时，得到NaN
console.log( ...]]></description><category></category></item></channel></rss>