国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

lodash相關(guān)技巧

notebin / 2834人閱讀

摘要:變量和方法類型的變量中只用類型和類型平時(shí)使用的字符串應(yīng)該是類型,應(yīng)該是出現(xiàn)這樣的情況,因?yàn)闀r(shí)候,轉(zhuǎn)換成了類型在明確指出變量類型的轉(zhuǎn)換所以類型的是的,而是的,對(duì)與類型的變量,為其賦值,本質(zhì)上就是讓變量指向新的內(nèi)存。

變量和方法 類型

js的變量中只用primitive類型和object類型

平時(shí)使用的字符串應(yīng)該是primitive類型,應(yīng)該是not an object and has no methods

const str = "hello";
console.log(str.charAt(0));
// output: h
Object.prototype.toString.call(str)
// output: [object String]    

出現(xiàn)這樣的情況,因?yàn)閟tr.charAt時(shí)候,String(primitive)轉(zhuǎn)換成了String(object)類型在ECMAScript Language Specification&8.7.1 明確指出變量類型的轉(zhuǎn)換

所以primitive類型的value是immutable的,而variable是mutable的,對(duì)與primitive類型的變量,為其賦值,本質(zhì)上就是讓變量指向新的內(nèi)存。

lodash相關(guān)技巧和實(shí)例

N次循環(huán)技巧

for(let i = 0; i < 5; i++) {
    // ...
}
Array.apply(null, Array(5)).forEach(() => {
    // ...
    });
_.times(5, () => {
    // ...
    };

深層次查找屬性

    const ownerArr = [{
    "owner": "Colin",
      "pets": [{"name":"dog1"}, {"name": "dog2"}]
    }, {
        "owner": "John",
        "pets": [{"name":"dog3"}, {"name": "dog4"}]
    }];

    ownerArr.map(owner => {
        return owner.pets[0].name;
        });

    _.map(ownerArr, "pets[0].name");

數(shù)組獨(dú)立

    Array.apply(null, Array(6)).map( (item, index) => {
    return "ball_" + index;
    });

    _.times(6, _.uniqueId.bind(null, "ball_"));

    _.times(6, _.partial(_.uniqueId, "ball_"));
    // output: [ball_0, ball_1, ball_2, ball_3, ball_4, ball_5]

對(duì)象擴(kuò)展(可以直接用Object.assgin(), 底層一樣的實(shí)現(xiàn))

     Object.prototype.extend = obj => {
    for (let i in obj) {
          if (obj.hasOwnProperty(i)) {
            this[i] = obj[i];
          }
    }
};
    const objA = {"name": "colin", "car": "suzuki"};
    const objB = {"name": "james", "age": 17};

    objA.extend(objB);
    console.log(objA); 
    // {"name": "james", "age": 17, "car": "suzuki"};

    _.assign(objA, objB);
    // {"name": "james", "age": 17, "car": "suzuki"};

    // ES6
    Objetct.assign({}, objA, objB);
    // {"name": "james", "age": 17, "car": "suzuki"};
    //_.assign 是淺拷貝,所以會(huì)覆蓋name

補(bǔ)充作用域:

const test = "1";
testOne() {
    return testTwo{
        cosole.log(test);
    };
    const test = "2";
}
testOne()();
// output: undefined 


const test = "1";
testOne() {
    return testTwo{
        console.log(test);
    };
    test = "2";
}
// output: 1;

因?yàn)橹匦露x了const,他在搜索作用域時(shí)候,會(huì)自上到下搜索聲明的變量,如果沒(méi)有聲明,查找才會(huì)進(jìn)去下一層,此處輸出undefined,因?yàn)樵趖estOne()里面const之前就使用了test,所以就輸出了undefined,而在第二個(gè)例子里面沒(méi)有聲明test,所以他就跳轉(zhuǎn)出去,去下一層尋找test,即輸出為1

作用域提升

    const a = 1;
    b(){
        const a = b = 2;
    }
    console.log(a, b);
    // 拋出異常,因?yàn)椋鉀](méi)有定義
    
    b();
    console.log(a, b);
    //output: 1,2;
    // const a = b = 2 等價(jià)于 在全局聲明const b = 2; 內(nèi)部聲明const a = b;因?yàn)?運(yùn)算符是重右像左運(yùn)算的

附錄

MDN連接文檔

lodash相關(guān)技巧

10個(gè)ES6可以代替lodash的方法

希望各位大佬來(lái)補(bǔ)充和改錯(cuò),相互交流

Github地址: https://github.com/smile-soul

個(gè)人Blog: http://www.smilesoul.cn/

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/88815.html

相關(guān)文章

  • 大多數(shù)項(xiàng)目中會(huì)用到的webpack小技巧

    摘要:只在中有效你的文件在開(kāi)發(fā)者工具中顯示為。參考鏈接清除日志如果你在使用時(shí)看過(guò)下面的調(diào)試日志你可以使用來(lái)關(guān)閉它參考鏈接總結(jié)以上就是總結(jié)的條關(guān)于的建議,這幾乎是所有項(xiàng)目都用得到的配置技巧吧 原文地址 本文是作者對(duì)自己所學(xué)的webpack技巧的總結(jié),在沒(méi)有指定特殊情況下適用于webpack 3.0版本。 進(jìn)度匯報(bào) 使用webpack --progress --colors這樣可以讓編譯的輸出...

    Nekron 評(píng)論0 收藏0
  • 大多數(shù)項(xiàng)目中會(huì)用到的webpack小技巧

    摘要:只在中有效你的文件在開(kāi)發(fā)者工具中顯示為。參考鏈接清除日志如果你在使用時(shí)看過(guò)下面的調(diào)試日志你可以使用來(lái)關(guān)閉它參考鏈接總結(jié)以上就是總結(jié)的條關(guān)于的建議,這幾乎是所有項(xiàng)目都用得到的配置技巧吧 原文地址 本文是作者對(duì)自己所學(xué)的webpack技巧的總結(jié),在沒(méi)有指定特殊情況下適用于webpack 3.0版本。 進(jìn)度匯報(bào) 使用webpack --progress --colors這樣可以讓編譯的輸出...

    番茄西紅柿 評(píng)論0 收藏0
  • 大多數(shù)項(xiàng)目中會(huì)用到的webpack小技巧

    摘要:只在中有效你的文件在開(kāi)發(fā)者工具中顯示為。參考鏈接清除日志如果你在使用時(shí)看過(guò)下面的調(diào)試日志你可以使用來(lái)關(guān)閉它參考鏈接總結(jié)以上就是總結(jié)的條關(guān)于的建議,這幾乎是所有項(xiàng)目都用得到的配置技巧吧 原文地址 本文是作者對(duì)自己所學(xué)的webpack技巧的總結(jié),在沒(méi)有指定特殊情況下適用于webpack 3.0版本。 進(jìn)度匯報(bào) 使用webpack --progress --colors這樣可以讓編譯的輸出...

    alin 評(píng)論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁(yè)面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁(yè)性能管理詳解離線緩存簡(jiǎn)介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問(wèn)性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對(duì)象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁(yè)面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁(yè)性能管理詳解 HTML5 ...

    jsbintask 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<