摘要:在函數(shù)運行時指定的值。指定的值并不一定是該函數(shù)執(zhí)行時真正的值,如果這個函數(shù)處于非嚴格模式下,則指定為何的值會自動指向全局函數(shù)瀏覽器中就是對象。同時值為原始值數(shù)字字符串布爾值的會指向該原始值的自動包裝對象。
1、 文件位置
lodashdistlodash.js
2、
;(function() { }.call(this)) 這個函數(shù)的call方法的含義:誰調用它,this就指向當前的環(huán)境
call()方法在使用一個指定的this值和若干個指定的參數(shù)值的前提下調用某個函數(shù)或方法。
fun.call( thisArg[, arg1[, arg2[, ...]]])
thisArg在函數(shù)運行時指定的this值。指定的this值并不一定是該函數(shù)執(zhí)行時真正的this值,如果這個函數(shù)處于非嚴格模式下,則指定為ull何undefined的this值會自動指向全局函數(shù)(瀏覽器中就是window對象)。同時值為原始值(數(shù)字、字符串、布爾值)的this會指向該原始值的自動包裝對象。
3、
line:400 /* * Detect free variable `global` from Node.js. * 從nodejs中發(fā)現(xiàn)自由變量global,就使用nodejs的global */ var freeGlobal = typeof global == "object" && global && global.Object === Object && global; /* * Detect free variable `self`. * 發(fā)現(xiàn)自由變量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) { // Expose Lodash on the global object to prevent errors when Lodash is // loaded by a script tag in the presence of an AMD loader. // See http://requirejs.org/docs/errors.html#mismatch for more details. // Use `_.noConflict` to remove Lodash from the global object. root._ = _; // Define as an anonymous module so, through path mapping, it can be // referenced as the "underscore" module. define(function() { return _; }); } // Check for `exports` after `define` in case a build optimizer adds it. else if (freeModule) { // Export for Node.js. (freeModule.exports = _)._ = _; // Export for CommonJS support. freeExports._ = _; } else { // 賦值給全局對象。 root._ = _; root.lodash = _;}
5、這里如何將lodash imports _ 有何含義?
lodash.templateSettings= { "escape": reEscape, "interpolate": reInterpolate, ‘variable’: "", "imports":{ "_":lodash } }; 可以用如下方法調用interpolate [options.interpolate=_.templateSettings.interpolate]
原型繼承
lodash.prototype = baseLodash.prototype; lodash.prototype.constructor = lodash;
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80230.html
摘要:用于檢測自己是否在自己的原型鏈上如果是函數(shù),則取出該函數(shù)的原型對象否則,取出對象的原型對象其中,的判斷,是為了確定的類型是對象或數(shù)組。相當于,而的構造函數(shù)是一個函數(shù)對象。 showImg(https://segmentfault.com/img/bVbq2N1?w=640&h=437); 前言 接著上一篇文章 lodash 是如何實現(xiàn)深拷貝的(上),今天會繼續(xù)解讀 _.cloneDee...
摘要:例如其中的為,但是數(shù)組中沒有元素,是稀疏數(shù)組而每個位置都是有元素的,雖然每個元素都為,為密集數(shù)組。那稀疏數(shù)組和密集數(shù)組有什么區(qū)別呢在中最主要考慮的是兩者在迭代器中的表現(xiàn)。截取并返回新數(shù)組為新數(shù)組容器。 卑鄙是卑鄙者的通行證,高尚是高尚者的墓志銘。 ——北島《回答》 看北島就是從這兩句詩開始的,高尚者已死,只剩卑鄙者在世間橫行。 本文為讀 lodash 源碼的第一篇,后續(xù)文章會更新到...
摘要:這里要介紹的是工作流中的一種很普遍的代碼加工流程正常的業(yè)務邏輯開發(fā)流程需要經(jīng)過預處理器如或,然后再經(jīng)過后處理器如進行深加工。 還未看的,可以點擊查看上兩篇文章喲:Webpack 最佳實踐總結(一)、Webpack 最佳實踐總結(二) 好了,這篇是第三篇,也是完結篇,我感覺這一篇是最亂的一篇,湊合著看吧,不會讓你失望的 整合 CSS 加工流 有時候,前端項目中除了 JavaScript ...
摘要:這里要介紹的是工作流中的一種很普遍的代碼加工流程正常的業(yè)務邏輯開發(fā)流程需要經(jīng)過預處理器如或,然后再經(jīng)過后處理器如進行深加工。 還未看的,可以點擊查看上兩篇文章喲:Webpack 最佳實踐總結(一)、Webpack 最佳實踐總結(二) 好了,這篇是第三篇,也是完結篇,我感覺這一篇是最亂的一篇,湊合著看吧,不會讓你失望的 整合 CSS 加工流 有時候,前端項目中除了 JavaScript ...
摘要:萬條數(shù)據(jù)依賴讀源碼之從看稀疏數(shù)組與密集數(shù)組原理的原理歸結起來就是切割和放置。尺在切割之前,需要用尺確定切割的數(shù)量。容器的長度剛好與塊的數(shù)量一致。當與塊的數(shù)量相等時,表示已經(jīng)切割完畢,停止切割,最后將結果返回。 以不正義開始的事情,必須用罪惡使它鞏固。——莎士比亞《麥克白》 最近很多事似乎印證了這句話,一句謊言最后要用一百句謊言來圓謊。 本文為讀 lodash 源碼的第二篇,后續(xù)文章會...
閱讀 2742·2021-11-24 10:23
閱讀 1153·2021-11-17 09:33
閱讀 2503·2021-09-28 09:41
閱讀 1409·2021-09-22 15:55
閱讀 3641·2019-08-29 16:32
閱讀 1903·2019-08-29 16:25
閱讀 1056·2019-08-29 11:06
閱讀 3421·2019-08-29 10:55