js封裝一些常用功能函式

2021-10-07 16:05:10 字數 3774 閱讀 5985

// 1.輸出型別值,封裝typeof方法

// 2.陣列去重

// 3.字串去重

// 4.字串中只出現一次並且是第一次出現的字元

// 5.聖杯模式 繼承模式

// 6.深拷貝

// 7.封裝函式,返回元素e的第n層祖先元素

// 8.封裝child功能,解決以前部分瀏覽器不相容問題,返回元素節點 notetype==1

// 9.封裝haschildren()方法,不可以使用children屬性

// 10.封裝函式,返回元素e的第n個元素節點,n為正,返回後面的兄弟節點,

// 11.返回元素子節點,按照層級來(不是很好)

// 12.封裝insertafter

// 13.求螢幕滾動距離

// 14.封裝函式,獲取螢幕當前視口大小

// 15.封裝 獲取元素css屬性值的方法

// 16.封裝函式 事件繫結函式 解決相容性問題 addevent

// 17.封裝取消冒泡事件

// 18.封裝阻止預設事件

// 1.輸出型別值,封裝typeof方法

function

type

(target)

if(target ===

null

)elseif(

typeof

(target)

=='object'

)else

}// 2.陣列去重

// 要求在原型鏈上程式設計

// array.prototype.unique = function () {}

// 利用物件屬性名不能相同,雜湊值

array.prototype.

unique

=function()

, arr =

, len =

this

.length;

for(

var i =

0; i < len; i++)}

return arr;

}// 3.字串去重

string.prototype.

uniquestr

=function()

;for

(var prop in

this)}

}return str;

}// 4.字串中只出現一次並且是第一次出現的字元

string.prototype.

thefirstword

=function()

;for

(var prop in

this)}

for(

var prop in obj)}}

// 5.聖杯模式 繼承模式

var inhert =

(function()

;return

function

(target, origin)}(

))// 6.深拷貝

function

deepclone

(origin, target)

,//引數預處理

tostr = object.prototype.tostring,

//判斷是陣列還是物件

arrstr =

'[object array]'

;for

(prop in origin)

else;}

deepclone

(origin[prop]

, target[prop]);

}else}}

}// 7.封裝函式,返回元素e的第n層祖先元素

function

retparent

(elem, n)

return elem;

}// 8.封裝child功能,解決以前部分瀏覽器不相容問題,返回元素節點 notetype==1

element.prototype.

mychildren

=function()

}return arr;

}// 9.封裝haschildren()方法,不可以使用children屬性

element.prototype.

myhaschildren

=function()

}return

false;}

// 10.封裝函式,返回元素e的第n個元素節點,n為正,返回後面的兄弟節點,

// n為負,返回前面的,n = 0返回自己

// 迴圈一般要考慮條件的合法性

function

retsibling

(e, n)

else

}return e;

}// 做瀏覽器相容問題

function

retsibling

(e, n)

else

n--;}

else

else

n++;}

}return e;

}// 11.返回元素子節點,按照層級來(不是很好)

element.prototype.

mychild1

=function

(obj)

;var child =

this

.childnodes;

var len = child.length;

for(

var i =

0; i < len; i++

)else

if(child[i]

.nodetype ==

1&& child[i]

.childnodes.length >1)

; child[i]

.mychild1

(obj[i +

"."+ mynodename]);

}}return obj;

}// 12.封裝insertafter

element.prototype.

inserafter

=function

(targetnode, afternode)

else

}// 13.求螢幕滾動距離

function

getscrolloffset()

}else}}

// 14.封裝函式,獲取螢幕當前視口大小

function

getviewportoffset()

}else

}else}}

}//15.封裝 獲取元素css屬性值的方法

// elem:元素名 prop:css屬性名

function

getstyle

(elem, prop)

else

}// 16.封裝函式 事件繫結函式 解決相容性問題 addevent

function

addevent

(elem, type, handle)

else

if(elem.attachevent))}

else

}// 17.封裝取消冒泡事件

function

stopbobble

(event)

else

}// 18.封裝阻止預設事件

function

cancelhandler

(event)

else

}

mysql的一些常用功能記錄

內容來自各次搜尋彙總,都是來自各位大神的辛勤奉獻,在此一併感謝,以下不是本人知識結晶,在此純粹搬磚 1 修改某條記錄某個欄位的值 select istatus,isearchstatus from aazb2c db.t housing where iautoid 1 or iautoid 2 up...

stripes 和css 一些常用功能

1 表單 2 css background color f1f1f1 width 450px border 1em solid acacac padding 15px 0px 15px 10px 這個簡寫屬性設定元素所有內邊距的寬度,或者設定各邊上內邊距的寬度。行內非替換元素上設定的內邊距不會影響行...

總結一些常用功能原始碼

https p blog.csdn.net images p blog csdn net xman8293 entryimages 20090623 tab導航.rar.jpg 2 郵件傳送 https p blog.csdn.net images p blog csdn net xman8293 ...