<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[han_gitHub的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/han_gitHub</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; han_gitHub]]></copyright><item><title><![CDATA[Object.prototype.toString.call() 判断数据类型]]></title><link>https://blog.youkuaiyun.com/han_gitHub/article/details/115695764</link><guid>https://blog.youkuaiyun.com/han_gitHub/article/details/115695764</guid><author>han_gitHub</author><pubDate>Wed, 14 Apr 2021 12:34:09 +0800</pubDate><description><![CDATA[Object.prototype.toString.call() // 可以判断出一个数据为什么类型
打印出来显示为

判断基本类型

Object.prototype.toString.call(null); // “[object Null]”
Object.prototype.toString.call(undefined); // “[object Undefined]”
Object.prototype.toString.call(“abc”);// “[object String]”
Objec]]></description><category></category></item><item><title><![CDATA[JS正则限制只能输入数字、或带小数点的数字，并且小数后面限制多少位]]></title><link>https://blog.youkuaiyun.com/han_gitHub/article/details/115695752</link><guid>https://blog.youkuaiyun.com/han_gitHub/article/details/115695752</guid><author>han_gitHub</author><pubDate>Wed, 14 Apr 2021 12:33:34 +0800</pubDate><description><![CDATA[// min-max 是数字大小范围 length 是小数点后几位 
                pointNum(rule, value, callback) {
                    var min = 0, max = 0, length = rule.length, type = rule.type != 'string' ? rule.type : '';
                    if(rule.options &amp;&am...]]></description><category></category></item><item><title><![CDATA[reflect的13个方法]]></title><link>https://blog.youkuaiyun.com/han_gitHub/article/details/115695744</link><guid>https://blog.youkuaiyun.com/han_gitHub/article/details/115695744</guid><author>han_gitHub</author><pubDate>Wed, 14 Apr 2021 12:32:12 +0800</pubDate><description><![CDATA[一：Reflect.get(target, name, receiver)   target: 目标对象 name: 是我们要读取的属性。receiver(可选)： 可以理解为上下文this对象。
二：Reflect.set(target,name,value,receiver)    target: 我们需要操作的对象。
name: 我们需要设置该对象的属性名。value: 我们要设置的属性值。 receiver： 可以理解为上下文this对象。如果我们在设置值的时候遇到setter函数，该参数就指向与s]]></description><category></category></item><item><title><![CDATA[理解for循环块级作用域]]></title><link>https://blog.youkuaiyun.com/han_gitHub/article/details/115695735</link><guid>https://blog.youkuaiyun.com/han_gitHub/article/details/115695735</guid><author>han_gitHub</author><pubDate>Wed, 14 Apr 2021 12:31:18 +0800</pubDate><description><![CDATA[for(let i =0; i &lt; 5; i++) {
    let i = 'foo';
    console.log(i)
}


原因：可以把for循环看成两个块级作用域
把for循环拆分成这样就可理解
let i = 0;
if (i &lt; 5) {
    let i = 'foo';
    console.log(i)
}

let i = 1;
if (i &lt; 5) {
    let i = 'foo';
    console.log(i)
}

let i = 2;]]></description><category></category></item><item><title><![CDATA[模拟map、every、some等高阶函数]]></title><link>https://blog.youkuaiyun.com/han_gitHub/article/details/115695723</link><guid>https://blog.youkuaiyun.com/han_gitHub/article/details/115695723</guid><author>han_gitHub</author><pubDate>Wed, 14 Apr 2021 12:30:39 +0800</pubDate><description><![CDATA[// 模拟map，some，every等高阶函数
const map = (array, fn)=&gt; {
    let results = [];
    for(let value of array) {
        results.push(fn(value));
    }

    return results
}

// 测试
let arr = [1, 2, 3, 4];
arr = map(arr, v=&gt; v *v);
console.log(arr)


const ev]]></description><category></category></item><item><title><![CDATA[闭包的理解]]></title><link>https://blog.youkuaiyun.com/han_gitHub/article/details/115695627</link><guid>https://blog.youkuaiyun.com/han_gitHub/article/details/115695627</guid><author>han_gitHub</author><pubDate>Wed, 14 Apr 2021 12:26:42 +0800</pubDate><description><![CDATA[jj

]]></description><category></category></item></channel></rss>