小白讀lodash原始碼(一)未完結,歡迎各種噴

2021-09-18 04:08:46 字數 1801 閱讀 2194

1、 檔案位置

lodash\dist\lodash.js
2、

;(function() .call(this))   

這個函式的call方法的含義:誰呼叫它,this就指向當前的環境

call()方法在使用乙個指定的this值和若干個指定的引數值的前提下呼叫某個函式或方法。

fun.call( thisarg[, arg1[, arg2[, ...]]])
thisarg在函式執行時指定的this值。指定的this值並不一定是該函式執行時真正的this值,如果這個函式處於非嚴格模式下,則指定為ull何undefined的this值會自動指向全域性函式(瀏覽器中就是window物件)。同時值為原始值(數字、字串、布林值)的this會指向該原始值的自動包裝物件。

3、

line:400

/* * detect free variable `global` from node.js.

* 從nodejs中發現自由變數global,就使用nodejs的global

*/var freeglobal = typeof global == 'object' && global && global.object === object && global;

/* * detect free variable `self`.

* 發現自由變數self,代表當前作用域

*/var freeself = typeof self == 'object' && self && self.object === object && self;

/** used as a reference to the global object. */

var root = freeglobal || freeself || function('return this')();

關於function('return this')();的用法
4、 lodash和「_」如何被劃等號

line:1405

function runincontext(context) {}

line:16705

// export lodash.

var _ = runincontext();

// some amd build optimizers, like r.js, check for condition patterns like:

if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) );

} // check for `exports` after `define` in case a build optimizer adds it.

else if (freemodule)

else

5、這裡如何將lodash imports _ 有何含義?

lodash.templatesettings=  

};可以用如下方法呼叫interpolate

[options.interpolate=_.templatesettings.interpolate]

原型繼承

lodash.prototype = baselodash.prototype;

lodash.prototype.constructor = lodash;

Lodash原始碼精讀 chunk slice

today 2021.3.12 lodash 原始碼 將陣列 array 拆分成多個 size 長度的區塊,並將這些區塊組成乙個新陣列。如果array 無法被分割成全部等長的區塊,那麼最後剩餘的元素將組成乙個區塊。function chunk array,size 1 let index 0let ...

lodash原始碼分析之Number

一 lodash版本 4.17.5 二 函式 1 clamp 1 定義 clamp number,lower upper 2 作用 返回加緊的數字。3 例子。const require lodash console.log clamp 10,1,20 輸出 10 console.log clamp ...

lodash原始碼分析之isArguments

有人命中註定要過平庸的生活,默默無聞,因為他們經歷了痛苦或不幸 有人卻故意這樣做,那是因為他們得到的幸福超過了他們的承受能力。卡爾維諾 煙雲 本文為讀 lodash 原始碼的第二十一篇,後續文章會更新到這個倉庫中,歡迎 star pocket lodash import gettag from in...