Vue原始碼閱讀分享 工具函式

2021-08-06 05:51:16 字數 2011 閱讀 4074

判斷乙個值是不是為空

function

isundef

(v)

判斷乙個值是不是不為空

function

isdef

(v)

判斷乙個值真

function

istrue

(v)

判斷乙個值假

function

isfalse

(v)

判斷乙個值是不是原始值

function isprimitive (value)
快速型別檢查,當我們知道value是json相容型別時,用於判斷原始值和物件

function

isobject

(obj)

嚴格型別,只有value為js物件時才返回true

var _tostring = object.prototype.tostring;

function

isplainobject

(obj)

返回的函式使用了內部的陣列map,是乙個典型的閉包的應用

function

makemap

(str,expectslowercase)

return expectslowercase //判斷乙個變數是否包含在傳入字串裡

? function

(val)

: function

(val)

}

刪除陣列的乙個元素

function remove (arr, item) 

}}

判斷物件的自有屬性

var hasownproperty = object.prototype.hasownproperty;

function

hasown

(obj, key)

建立乙個快取函式

function

cached

(fn) )

}

首字母大寫

var capitalize=cached(function(str))

console.log(capitalize('abc'))

連線乙個camelcase字串

var hyphenatere=/([^-])([a-z])/g

var hyphenate = cached(function

(str))

console.log(hyphenate('abcd'))

判斷乙個字串是否以$或者_開頭

function

isreserved

(str)

定義乙個屬性

function

def(obj, key, val, enumerable))

}

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...

vue原始碼閱讀(一)

之前想要研究下vue的原始碼 網上一般直接就上來甩出雙向繫結等等的函式 這次看原始碼 想從乙個漸進式的方向來解讀。當前版本基本上是最新的版本,18年6月的最新版,版本號是2.5.17 當我們接觸乙個專案或者乙個框架 在沒有交接文件的情況下 首先第一印象是啥?肯定是目錄 通過查資料和看 基本確定了這些...

vue原始碼閱讀(二)

那麼下邊這個則是例項化建構函式,也就是開始使用了,不管是作為框架,還是作為外掛程式,都需要new一下。翻篇回去,先看vue的建構函式,this.init options 是呼叫的第乙個方法,包括傳進來的引數options,不過在這之前,還判斷了下呼叫vue的是不是先new出來的。根據注入的檔案 找到...