<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[南北北南的博客]]></title><description><![CDATA[位卑未敢忘忧国]]></description><link>https://blog.youkuaiyun.com/c_lam_e</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; c_lam_e]]></copyright><item><title><![CDATA[《高级程序设计》-21章学习笔记]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/114794300</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/114794300</guid><author>c_lam_e</author><pubDate>Sun, 14 Mar 2021 20:14:41 +0800</pubDate><description><![CDATA[AJAX

Asynchronous JavaScript And XML

内容

Ajax的核心是 XMLHttpRequest, 简称XHR，最初由微软引入的一个特性，后期其他浏览器提供商也开始支持

用法


const xhr = new XMLHttpRequest()

xhr.onreadystatechange = (ev: Event) =&gt; {
  // readyState值含义
  // 0-未初始化，即调用open之前
  // 1，启动，调用了open()但是还未调用..]]></description><category></category></item><item><title><![CDATA[css 五种两边固定，中间自适应的实现方式]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/106072681</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/106072681</guid><author>c_lam_e</author><pubDate>Tue, 12 May 2020 11:35:31 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;BFC&lt;/title&gt;
		&lt;style&gt;
			body {
				overflow: scroll;
			}
			
			/* position:absolute */
			.left, .right {
				position: absolute;
				width: 230px;
				top: 0;
				height: 50px.]]></description><category></category></item><item><title><![CDATA[css相关名词解释]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/105996927</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/105996927</guid><author>c_lam_e</author><pubDate>Fri, 08 May 2020 15:53:33 +0800</pubDate><description><![CDATA[何为优雅降级？何为渐进增强？

优雅降级跟渐进增强都是在css3之后出现的概念，围绕这浏览器的对css的兼容性来探讨问题。优雅降级是指先用最靠前的技术来构建页面，之后通过hack去调整浏览器的兼容性；渐进增强是先针对低版本浏览器来构建基本页面，再针对高版本浏览器添加一些效果、交互。

何为hack?

通过在css样式中添加一些特殊的符号，通过使不同的浏览器识别不同的符号来达到针对不同浏览器使用不...]]></description><category></category></item><item><title><![CDATA[手写深拷贝等方法]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/105972875</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/105972875</guid><author>c_lam_e</author><pubDate>Thu, 07 May 2020 15:02:23 +0800</pubDate><description><![CDATA[// 深拷贝函数
    // 深拷贝实现方式JSON.parse(JSON.strinfy(obj)), 但是没法复制函数（会返回null）
    export function cloneDeep(obj){
        //  想判断是否是对象类型,是否空对象类型
        if(typeof obj !== 'object' || obj === null){
       ...]]></description><category></category></item><item><title><![CDATA[ES6-之新增优化数组方法]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/105961412</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/105961412</guid><author>c_lam_e</author><pubDate>Wed, 06 May 2020 22:59:34 +0800</pubDate><description><![CDATA[数组优化

新增Array.of() 、 Array.from()

Array.of()总会创建一个包含所有参数的数组，用来解决通过Array构造函数来创建数据的怪异行为， new Array(n)传一个参数的时候，如果参数类型为number，则该数组的length替换为n,如果是其他类型则会创建一个长度为1的数组n，而Array.of(n),无论参数是何种类型，都只创建length为1，值为...]]></description><category></category></item><item><title><![CDATA[简述我对event loop的理解]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/105908305</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/105908305</guid><author>c_lam_e</author><pubDate>Mon, 04 May 2020 20:24:21 +0800</pubDate><description><![CDATA[何为eventloop,javascript中的一种运行机制，用来解决浏览器单线程的问题

Event Loop是一个程序结构，用于等待和发送消息和事件。



同步任务、异步任务、微任务、宏任务
...]]></description><category></category></item><item><title><![CDATA[回顾React]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/105840857</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/105840857</guid><author>c_lam_e</author><pubDate>Sun, 03 May 2020 20:23:12 +0800</pubDate><description><![CDATA[React的生命周期函数有哪些

过时的生命周期，为什么过时？

componentWillMount ，会在render之前调用，那么setState之后也不会被渲染，完全可以再构造函数中进行初始化
componentWillRecieveProps
componentWillUpdate

何为Hook
就是能再函数组件中钩如React的生命周期等特性的函数
Hooks使用注意点
由于hook...]]></description><category></category></item><item><title><![CDATA[简单了解Web Stroage和cookie、session的区别]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/105844469</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/105844469</guid><author>c_lam_e</author><pubDate>Sun, 03 May 2020 14:59:06 +0800</pubDate><description><![CDATA[localStorage、sessionStorage、session
]]></description><category></category></item><item><title><![CDATA[探索函数作用域（普通函数与箭头函数的区别）]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/103492010</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/103492010</guid><author>c_lam_e</author><pubDate>Wed, 11 Dec 2019 14:37:41 +0800</pubDate><description><![CDATA[// 探索作用域this,箭头函数域普通函数的区别
// 箭头函数的定义是保证函数里的this是是定义域的this,
// 如果调用他的对象没有该函数，依旧会报undefined is not a Function

function scopeOfFuns(){
    console.log("out fun:",this);
    function scopeOfFunIn(){
   ...]]></description><category></category></item><item><title><![CDATA[编译RN项目中遇到的问题]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/95454647</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/95454647</guid><author>c_lam_e</author><pubDate>Thu, 11 Jul 2019 10:51:30 +0800</pubDate><description><![CDATA[|执行命令|报错|原因|解决|
|react-native run-android| adb server versions(31) doesn’t match this client（39） | 模拟器的adb版本为31而android-sdk的版本是39，无法匹配 |将android-sdk中的adb.exe复制替换掉模拟器里的adb.exe|

...]]></description><category></category></item><item><title><![CDATA[内联元素内放入块级元素会出现什么情况呢？]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/82216634</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/82216634</guid><author>c_lam_e</author><pubDate>Thu, 30 Aug 2018 09:57:53 +0800</pubDate><description><![CDATA[我们知道元素可分为块级元素和内联元素，也知道块级元素内既可以嵌套内联元素也可以嵌套块级元素，但是内联元素就只能嵌套内联元素，不可以嵌套块级元素，当然表格下的tr除外，那么如果违反了规定会出现什么样的效果呢？？ 
代码如下所示



&amp;lt;!--内联元素内嵌套块级元素的展示效果--&amp;gt;
&amp;lt;div&amp;gt;
    这是块级元素
    &amp;lt;div style=&quot;width: 200px...]]></description><category></category></item><item><title><![CDATA[window.open()方法以及系统弹出框alert等]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/81901633</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/81901633</guid><author>c_lam_e</author><pubDate>Tue, 21 Aug 2018 11:17:19 +0800</pubDate><description><![CDATA[&amp;amp;lt;!DOCTYPE html&amp;amp;gt;
&amp;amp;lt;html lang=&amp;quot;en&amp;quot;&amp;amp;gt;
&amp;amp;lt;head&amp;amp;gt;
    &amp;amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;amp;gt;
    &amp;amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&a]]></description><category></category></item><item><title><![CDATA[简述setInterval()和setTimeout()]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/81902977</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/81902977</guid><author>c_lam_e</author><pubDate>Tue, 21 Aug 2018 10:37:23 +0800</pubDate><description><![CDATA[&amp;amp;lt;script&amp;amp;gt;
    //setTimeout()超时调用
    //接受两个参数，第一个参数为要执行的代码，可以是字符串也可以是函数（佳）
    //第二个参数是等待多长时间的毫秒数，但经过该时间后只带的代码不一定执行，因为一定时间内只能执行一段代码，
    //为了控制执行顺序，有一个javascript任务队列，这些任务会按照他们添加的队列顺序执行.
    //而第二...]]></description><category></category></item><item><title><![CDATA[javascript之正则表达式简述]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/81706012</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/81706012</guid><author>c_lam_e</author><pubDate>Wed, 15 Aug 2018 16:24:31 +0800</pubDate><description><![CDATA[正则表达式的表达形式有两种：字面量形式、字符串形式 
    字面量形式 
    var pattern = /pattern/flags; 
    字符串形式： 
    var pattern1 = new RegExp(“pattern”,”i”); 
    由flags可知，一个正则表达式可以带一个或多个标志 
    正则表达式的标志有： 
    g(global):全局模式 
...]]></description><category></category></item><item><title><![CDATA[问题小解析]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/81534245</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/81534245</guid><author>c_lam_e</author><pubDate>Thu, 09 Aug 2018 12:03:57 +0800</pubDate><description><![CDATA[问题一：如何将一个字符串完全倒过来



 function reverseStr(str){
            var len = str.length;
            var reStr = &amp;amp;quot;&amp;amp;quot;;
            for(var i = len-1;i&amp;amp;amp;gt;=0; i--){
                reStr = reStr + str[i];
     ...]]></description><category></category></item><item><title><![CDATA[javascript中的引用类型--对象（object）]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/81488652</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/81488652</guid><author>c_lam_e</author><pubDate>Wed, 08 Aug 2018 09:16:03 +0800</pubDate><description><![CDATA[概念讲解 
对象的定义方法如下：  
    对象的定义方式右两种，如果向遍历对象中的所有元素，可以使用for …in 方法； 
    对象主要包含两类元素，属性和方法（function） 
    如果想查看对象中是否包含某属性或方法，可以使用语句var a =  value in object,如果有，返回true 
    访问对象中的属性和方法有两种形式，点表示法和方括号表示法

&amp;lt...]]></description><category></category></item><item><title><![CDATA[Vue中props的使用]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/79066629</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/79066629</guid><author>c_lam_e</author><pubDate>Thu, 14 Jun 2018 16:54:40 +0800</pubDate><description><![CDATA[props属性是父子组件之间的通信桥梁。何为父子组件？从子组件的观点来看，他的上一级实例或组件即为他的父组件。我们知道，处于安全考虑，组件模板里我们无法直接使用父组件的data数据，使用props这个属性可以将父组件的数据传给子组件。



html lang=&quot;en&quot;&gt;
head&gt;
    meta charset=&quot;UTF-8&quot;&gt;
    title&gt;props的测试title&gt;
    sc]]></description><category></category></item><item><title><![CDATA[vue.js之组件那些事]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/79042576</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/79042576</guid><author>c_lam_e</author><pubDate>Fri, 12 Jan 2018 12:10:13 +0800</pubDate><description><![CDATA[注意：组件是vue.js的核心部分。组件必须得在实例化中的模板中使用。。如果选择注册一个全局组件，组件注册必须要在他的根实例化之前注册，一个组件可以对应多个根实例，根实例也可以对应多个组件。 
关于组件的全局注册

（注意：组件的注册必须要在根实例化之前，否则会出错，而无法使用。）结合以下代码，实例#app就是my-test的根实例。。。



div id=&quot;app&quot;&gt;
//(图一)看看下面两个]]></description><category></category></item><item><title><![CDATA[vue的渲染]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/79024016</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/79024016</guid><author>c_lam_e</author><pubDate>Wed, 10 Jan 2018 15:06:29 +0800</pubDate><description><![CDATA[条件渲染



v-if、v-else

条件渲染，如果条件为真，则显示，否则不显示



div v-if="Math.random()>随机数小于0.3,所以我才会显示了呢div>
div v-else-if="Math.random()>=0.3 && Math.random()>0.3~0.6之间了。。到我显示了？div>
div v-else>随机数大于0.6哈哈，你们都不出来那我自己先]]></description><category></category></item><item><title><![CDATA[简单谈谈vue的属性。。。]]></title><link>https://blog.youkuaiyun.com/c_lam_e/article/details/79014548</link><guid>https://blog.youkuaiyun.com/c_lam_e/article/details/79014548</guid><author>c_lam_e</author><pubDate>Wed, 10 Jan 2018 14:17:30 +0800</pubDate><description><![CDATA[谈谈vue的属性


data。。。。只有当实例被创建时存在的属性才是响应式的，、当这些属性的值发生改变，视图也将会产生响应。。如果有的属性你将来会用到，但现在还不知道值，可以设置一些初始值




data {
    todo: '',
    lis: true,
    a1: 34,
    arr: [],
    error: null    
}

但要注意下面的方法，会阻止修改现]]></description><category></category></item></channel></rss>