jQuery原始碼 資料型別檢測

2021-10-13 07:25:12 字數 1784 閱讀 4995

(

function()

;var getproto = object.getprototypeof;

var tostring = class2type.tostring;

//->object.prototype.tostring

var hasown = class2type.hasownproperty;

//->object.prototype.hasownproperty

var fntostring = hasown.tostring;

//->function.prototype.tostring

var objectfunctionstring = fntostring.

call

(object)

;//->object.tostring() //->"function object() "

// 建立資料型別檢測的對映表

var arr_type =

["boolean"

,"number"

,"string"

,"function"

,"array"

,"date"

,"regexp"

,"object"

,"error"

,"symbol"

,"bigint"];

arr_type.

foreach

(function

(name));

// 通用檢測方法

vartotype

=function

totype

(obj)

;// 檢測是否為函式

varisfunction

=function

isfunction

(obj)

;// 檢測是否為window

variswindow

=function

iswindow

(obj)

;// 檢測是否為陣列或者類陣列

varisarraylike

=function

isarraylike

(obj)

;// 檢測是否為純粹的物件(obj.__proto__===object.prototype)

varisplainobject

=function

isplainobject

(obj)

;// 檢測當前物件是否為空物件

varisemptyobject

=function

isemptyobject

(obj)

;// 檢測是否為有效數字,認為:10和"10"都是有效數字,但是true/null這些都不是

varisnumeric

=function

isnumeric

(obj)

;/* 暴露api */

var utils =

;// 轉讓使用權

var _$ = window._;

utils.

noconflict

=function

noconflict()

;if(typeof module ===

"object"

&&typeof module.exports ===

"object")if

(typeof window !==

"undefined")}

)();

檢測資料型別

js中檢測資料型別只有四種方式 1 typeof 用來檢測資料型別的運算子 typeof value 1 返回值 首先是乙個字串,然後包含了我們常用的資料型別,例 如 number string boolean undefined object function typeof typeof type...

Python原始碼學習 之資料型別

根據manual中the standard type hierarchy一節的型別資訊,我們首先嘗試列出乙個表 型別 物件類 pynone type pyobject none pybool type pylongobject notimplemented pyellipsis type pyobj...

Python原始碼學習 之資料型別

根據manual中the standard type hierarchy一節的型別資訊,我們首先嘗試列出乙個表 型別 物件類 pynone type pyobject none pybool type pylongobject notimplemented pyellipsis type pyobj...