<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhongheng310的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhongheng310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhongheng310]]></copyright><item><title><![CDATA[ const that = this  -----------------------------work 5.26]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/117297347</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/117297347</guid><author>zhongheng310</author><pubDate>Wed, 26 May 2021 17:22:39 +0800</pubDate><description><![CDATA[const that = this



(保证你的作用域能传递到里边)

出现这个情况就类似，一个大房间(this)，然后你手里拿着个扳手(resetForm)，然后大房间内还有个封闭的小房间（闭包函数），小房间里的人喊着要扳手(resetForm)但是根本找不到扳手，那么只能喊大房间外边的你递扳手，所以小房间和大房间要拉根联系的电话线，传递消息(let 变量名 = this)，拉通了，才能喊你递扳手进小房间（变量名.resetForm）去使用



MessageBox 组件相关

&lt;scr...]]></description><category></category></item><item><title><![CDATA[2021-05-24  BUG修改]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/117216835</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/117216835</guid><author>zhongheng310</author><pubDate>Mon, 24 May 2021 09:45:42 +0800</pubDate><description><![CDATA[在相应的input上加word-wrap:break-word;word-break:break-all;

给框里文字加个强制换行~
]]></description><category></category></item><item><title><![CDATA[前端工作日志 5.20 ————flatMap 与 map 方法]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/117067806</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/117067806</guid><author>zhongheng310</author><pubDate>Thu, 20 May 2021 11:13:08 +0800</pubDate><description><![CDATA[昨晚老大发了一个这个：

同学们今天看到一段代码 ：差不多是这个意思有啥更简单的写法吗





答案是flat和flatMap：

flatMap能用于在map期间增删项目（也就是修改items的数量）。

换句话说，它允许你遍历很多项使之成为另一些项（靠分别把它们放进去来处理），而不是总是一对一。

从这个意义上讲，它的作用类似于filter的对立面。只需返回一个1项元素数组以保留该项，返回一个多元素数组以添加项，或返回一个0项元素数组以删除该项。

例子：

把下面数组里的数，解析成，如果...]]></description><category></category></item><item><title><![CDATA[4.13 Work Day5 ——React学习]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/115668322</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/115668322</guid><author>zhongheng310</author><pubDate>Tue, 13 Apr 2021 18:02:53 +0800</pubDate><description><![CDATA[版本：16.x

引入好相应的js文件（babel.min.js 是jsx 编译转换为js的）



①创建虚拟DOM：

在script外  ——————  &lt;div id="test"&gt; “这里是容器”&lt;/div&gt;

const VDOM= &lt;h1&gt;HELLOW！&lt;/h1&gt;

②渲染虚拟DOM到页面：

ReactDOM.render(x,y) ————ReactDOM.render(VDOM,document.getElementById（...]]></description><category></category></item><item><title><![CDATA[入职第四天 2021-04-12]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/115612443</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/115612443</guid><author>zhongheng310</author><pubDate>Mon, 12 Apr 2021 17:52:18 +0800</pubDate><description><![CDATA[1.流式布局&amp;calc函数

【流式布局（Liquid Layout）流式布局的特点是页面元素的宽度按照屏幕分辨率进行适配调整，但整体布局不变。（栅格布局）。】

CSS3中的calc属性 就是流式布局的经典呈现：



表示父盒的高度100%的下面减少60px （就不会有多余出来的东西和滚动条了...

（100%是 子盒子以父元素为基准之后再 -60px）

以使用calc()给【几何属性】元素 ————border、margin、pading、font-size和width设置动态值

...]]></description><category></category></item><item><title><![CDATA[2021-04-09 入职第三天工作总结]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/115549693</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/115549693</guid><author>zhongheng310</author><pubDate>Fri, 09 Apr 2021 18:00:37 +0800</pubDate><description><![CDATA[1.公司用的scss与 less sass的区别

1.&gt;&gt;&gt; 这个是权重MAX符

2.宏定义 @mixin

①比如垂直居中


@mixin t-center{
position: absolute;
left: 50%;
top: 50%;
transform:translate(-50%,-50%)
}

②带参数的 mixin——假设封装一个flex样式：


@mixin df($fd,$jc,$ai,$as){
 display:flex;
 flex-...]]></description><category></category></item><item><title><![CDATA[如何让Chrome接受小于12px的文字]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/115328461</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/115328461</guid><author>zhongheng310</author><pubDate>Tue, 30 Mar 2021 16:04:38 +0800</pubDate><description><![CDATA[可 以 使 用 css3 的 transform 缩 放 属 性 -webkit-transform:scale(0.5); 注 意-webkit-transform:scale(0.75);收缩的是整个元素的大小，这时候，如果是内联元素，必须要将内联元素转换成块元素，可以使用 display：block/inline-block/…；

...]]></description><category></category></item><item><title><![CDATA[MVC与MVVM的区别]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/115107423</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/115107423</guid><author>zhongheng310</author><pubDate>Tue, 23 Mar 2021 00:52:39 +0800</pubDate><description><![CDATA[MVC与MVVM的区别

区别：MVVM将“数据模型数据双向绑定”的思想作为核心（所以view和model之间没联系）。而Model和ViewModel之间的交互是双向的，因此视图的数据的变化会同时修改数据源，而数据源数据的变化也会立即反应到View上。

它实现了View和Model的自动同步，也就是当Model的属性改变时，我们不用再自己手动操作Dom元素，来改变View的显示，而是改变属性后该属性对应View层显示会自动改变。

MVVM：





MVC：






...]]></description><category></category></item><item><title><![CDATA[构造函数、原型、实例 三者的关系]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114994725</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114994725</guid><author>zhongheng310</author><pubDate>Fri, 19 Mar 2021 01:46:06 +0800</pubDate><description><![CDATA[构造函数、原型、实例 三者的关系


    &lt;script&gt;
        // 构造函数来创建对象：
        function Star(uname,age){
            this.uname=uname;
            this.age=age;
            // this.sing=function(){
            //     console.log('唱的歌');
            // }
        }
   ]]></description><category></category></item><item><title><![CDATA[面试题——请讲讲JavaScript的作用域]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114683819</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114683819</guid><author>zhongheng310</author><pubDate>Fri, 12 Mar 2021 00:50:03 +0800</pubDate><description><![CDATA[JavaScript的作用域
在ES6之前，js的作用域只有两种：
1.全局作用域
定义在所有函数{}之外的变量，其作用范围是在整个脚本中
2.局部作用域（函数作用域）
使用var定义在函数内部的变量，其作用范围是整个函数结构，超出函数的 {} 花括号的范围则不能使用。
3、块级作用域（ES6中）：在一个{}中使用了let关键字声明的变量具有块级作用域 只能在{}内调用（用var关键字声明是没有块级作用域的）
PS：补充知识：块级作用域的三大特点
1.无变量提升——在ES6中 let只能先声明再使用，也就是]]></description><category></category></item><item><title><![CDATA[递归的简单理解]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114607090</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114607090</guid><author>zhongheng310</author><pubDate>Tue, 09 Mar 2021 23:58:40 +0800</pubDate><description><![CDATA[1、递归是什么？

五个字——’我调我自己‘！递归指的是函数在其内部再次调用自己本身，完成一些（诸如循环遍历等）操作。

2、如何实现简单的递归？

下面我封装了一个 通过传参输入id就可以查询并返回相应商品的ID值，只不过 图一只能返回一级商品，商品的下一级并不能被查询返回到：

（如果此处传参输入（data，11） 返回的是undefined）


 &lt;script&gt;
        var data = [{
            id: 1,
            name: '彩电]]></description><category></category></item><item><title><![CDATA[css的z-index权重问题 个人理解]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114442852</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114442852</guid><author>zhongheng310</author><pubDate>Sat, 06 Mar 2021 15:29:28 +0800</pubDate><description><![CDATA[css的z-index权重问题

首先z-index这个属性需要在当前盒子内加上position:xxx;才能用

如果父盒子A、父盒子B都加了定位，那么谁的z-index:x 这里谁的x值谁在谁上面

如果父盒子A有子盒子a、父盒子B有子盒子b都加了定位。如果B的z-index:x 值大于A的z-index:x ，那么即使a的z-index:x值再大，a也同A一起压在B下面



小总结：

定位的元素在没定位的元素上面
	同样没定位的两个盒子，其中一个盒子的子元素定位了，子元素所在的盒子在未定位的元素.]]></description><category></category></item><item><title><![CDATA[BFC是什么]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114423368</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114423368</guid><author>zhongheng310</author><pubDate>Sat, 06 Mar 2021 01:11:33 +0800</pubDate><description><![CDATA[BFC是什么

答案：BFC是指浏览器中创建了一个独立的渲染区域，并且拥有一套渲染规则，他决定了其子元素如何定位，以及与其他元素的相互关系和作用。
]]></description><category></category></item><item><title><![CDATA[JS迭代的方法有哪些？有什么区别？]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114381490</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114381490</guid><author>zhongheng310</author><pubDate>Fri, 05 Mar 2021 00:42:40 +0800</pubDate><description><![CDATA[JS迭代的方法有哪些？有什么区别？

1、every（）

every()返回的是布尔值，every的意思是'全都要满足'，将一个数组中的每一项都return后的条件进行比较，如果每一项都符合条件，返回true，否则返回false；（功能如其名，每一项都要满足 everything enough

2.some（）

some的意思是'部分满足'，将一个数组中的每一项都return后的条件进行比较,只要有一个满足条件，就返回true。（some one enough

3、filter（）

filter.]]></description><category></category></item><item><title><![CDATA[面试题]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114340892</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114340892</guid><author>zhongheng310</author><pubDate>Wed, 03 Mar 2021 23:27:34 +0800</pubDate><description><![CDATA[&lt;script&gt;
        var name = 'world!';
        (function() {
            var name;
            if (typeof name === 'undefined') {
                name = 'J'
                console.log('Good' + name);
            } else {
                console.log(.]]></description><category></category></item><item><title><![CDATA[如何实现数组的随机排序？]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114337269</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114337269</guid><author>zhongheng310</author><pubDate>Wed, 03 Mar 2021 21:48:50 +0800</pubDate><description><![CDATA[最简单的方法~
]]></description><category></category></item><item><title><![CDATA[数组去重两种方法]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114296710</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114296710</guid><author>zhongheng310</author><pubDate>Wed, 03 Mar 2021 17:41:10 +0800</pubDate><description><![CDATA[1.核心：indexOf（）是查询数组索引的方法，当他返回为-1时 代表没有找到符合条件的元素。


function unquire(arr){
var newArr = [];
for(var i=0;i&lt;arr.length;i++){
    if(newArr.indexOf(arr[i])===-1){ //核心
    newArr.push(arr[i]) //核心
}
}
return newArr ;
}
var f1=unquire([a,b,c,d,e]);

2.
...]]></description><category></category></item><item><title><![CDATA[浅谈JS的闭包]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114295343</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114295343</guid><author>zhongheng310</author><pubDate>Tue, 02 Mar 2021 21:46:36 +0800</pubDate><description><![CDATA[1.什么是闭包？

当一个函数可以访问另一个函数的局部变量，此时就会有必报的产生。这个被访问的函数就称为闭包函数 (例下面的fun就是闭包函数)

2.生成闭包的条件是什么？

闭包的生成有三个必要条件(缺一不可)

①. 在函数 A 内部直接或者间接返回一个函数 B

②. B 函数内部使用着 A 函数的局部变量

③. A 函数外部有一个变量接受着函数 B


function fn(){
var num = 10;
    function fun(){
console log(num);
}
 ..]]></description><category></category></item><item><title><![CDATA[浅谈javaScript的深拷贝与浅拷贝]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114295183</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114295183</guid><author>zhongheng310</author><pubDate>Tue, 02 Mar 2021 21:38:19 +0800</pubDate><description><![CDATA[1.浅拷贝： 将原对象或原数组的引用直接赋给新对象，新数组，新对象／数组只是原对象的一个引用
2.深拷贝： 创建一个新的对象和数组，将原对象的各项属性的“值”（数组的所有元素）拷贝过来，是“值”而不是“引用”
通俗点说  就是假设B复制了A，当修改A时，看B是否会发生变化，如果B也跟着变了，说明是浅拷贝，如果B没变，那就是深拷贝。
往深了说，就是B复制了A，如果B复制的是A的引用，那就是浅拷贝，如果B复制的是A的本体，那就是深拷贝。
我们在什么情况下会用到深拷贝？
我们希望在改变新的数组（对象）的时候，不改]]></description><category></category></item><item><title><![CDATA[主流浏览器兼容性问题与解决方案]]></title><link>https://blog.youkuaiyun.com/zhongheng310/article/details/114232369</link><guid>https://blog.youkuaiyun.com/zhongheng310/article/details/114232369</guid><author>zhongheng310</author><pubDate>Sun, 28 Feb 2021 17:49:49 +0800</pubDate><description><![CDATA[主流浏览器兼容性问题与解决方案

一：不同浏览器的标签默认的外补丁和内补丁不同
所以几乎所有的CSS文件开头都会用通配符选择器*来定义


*{
margin:0
padding:0
}
li{
list-style:none //取消li的小圆点
}
img{
border:0//照顾低版本浏览器 会有边框
vertical-align:middle 取消图片的空白间隙
}

二：在IE6中，块级标签float中，显示margin比设置的大

　　float布局最常见的浏览器兼容问题

　　解决方案：在f]]></description><category></category></item></channel></rss>