JQuery工具方法整理

2022-07-01 19:21:12 字數 3508 閱讀 8327

或許有人說jquery不是過時了嗎?怎麼還用,但我要告訴你,沒有永恆的庫或者框架,只有其中的思想是最寶貴的,也可以結合遊戲來講,就是一代版本一代神

安裝詳細請參考 :

npm學習npm

$ npm install -g cnpm --registry=	//cnpm安裝	

複製**

yarn官網yarn

安裝完成後資料夾如下:

之前寫過,但是太匆匆忙忙了,就連解釋都沒有寫了,這次寫完整些,返回值為小寫開頭的資料型別字母,例如string型別的返回string

var class2type = {};//定義乙個空物件

var tostring = class2type.tostring;//相當於object.prototype.tostring

["boolean","number","string","function","array","date","regexp","object","error","symbol","bigint","generatorfunction"].foreach(item=>)

function totype(obj)

return typeof obj === "object" || typeof obj === "function" ?

class2type[tostring.call(obj)] || "object" : typeof obj;

}複製**

具體如下:

用於檢測是否是乙個函式,返回值為布林值

//這裡的nodetype是為了解決相容問題

//在某些瀏覽器中,typeof對html 元素返回「function」

//(即「檔案型別」。createelement("object") === "function" ')。

//我們不想將*任何* dom節點分類為函式。

function isfunction(obj)

複製**

用於判斷是否是乙個window,返回值為布林值

//這裡巧用了window上面有個window屬性

function iswindow(obj)

複製**

用於判斷是否是純粹【{},new object,object.create(null)】的物件,返回值為布林值

var getproto = object.getprototypeof;//獲取原型

var hasown = class2type.hasownproperty;//相當於object.prototype.hasownproperty

function isplainobject(obj),new object,object.create(null))

var proto = getproto(obj),

ctol;

if(!obj || totype(obj)!=="object")

//判斷proto上面是否有constructor這個屬性,有則直接獲取構造器

ctol = hasown.call(ptoto,"constructor") && proto.constructor;

return typeof ctol === "function" && fntostring.call( ctor ) === objectfunctionstring;

}複製**

用於判斷是否是乙個空物件,返回值為布林值

原jq** :

//缺陷:無法檢測symbol,以及原型上新增的屬性也會被forin迴圈出來

function isemptyobject: function( obj )

return true;

}複製**

如圖:`我們是希望只要當前物件沒有屬性,則被判斷為空物件,而不是原型上有物件也被認為不是空物件

修改之後

function isemptyobject(obj)

複製**

用於檢測是否是類陣列或者陣列,返回值為布林值

function isarraylike( obj ) 

return type === "array" || length === 0 ||

typeof length === "number" && length > 0 && ( length - 1 ) in obj;

}複製**

用於遍歷陣列或者物件,返回值為每一項和索引

原jq :

//缺陷不能遍歷出symbol

function each( obj, callback )

} } else

} }return obj;

}複製**

如圖所示:不能遍歷出symbol

修改後 :

function getpropertyname(obj)

function each( obj, callback )

} } else {

let keys = getpropertyname(obj),

length = keys.length

for(;i如圖所示: 

jQuery工具和方法

jquery方法和工具 1.each 遍歷陣列或物件中的資料 var obj json物件 json物件 js物件 console.log parsejson json json json陣列 json陣列 js陣列 console.log parsejson json json.parse jso...

整理Jquery的遍歷方法

一 遍歷父元素的幾種方法 1.遍歷直接父元素 parent 方法 parent 方法只會返回被選元素的直接父元素。span parent 2.遍歷所有父元素 parents 方法parents 方法返回被選元素的所有祖先元素,它一路向上直到文件的根元素 span parents 返回span的所有父...

jQuery 核心函式和工具方法

接收乙個dom元素 會被包裝成乙個jquery物件返回給我們 var span document.getelementsbytagname span 0 console.log span span var span span console.log span span 原生foreach方法遍歷陣列...