類似jquery的乙個demo

2021-09-08 19:05:20 字數 761 閱讀 1559

通過以下的demo,可以大體知道jquery的一些組織結構以及一些實現方法。

實際上jquery就是乙個全域性變數,只是在這個變數上新增了各種屬性和方法。

首先我們要理解什麼是匿名函式自執行,簡單點就是如下結構的寫法就是乙個匿名函式自執行,

(function(thepara))(window)

可以分為兩個大的部分,第一部分(function(thepara){}),這一部分是固定寫法,即用一對括號把乙個匿名函式包裹起來,

而且這個匿名函式的形參thepara用來接收傳入的變數a;第二部分就是(window),作用是給前面被括號包裹起來的匿名函式的形參傳值,

也就是說形參thepara接收的變數a就是window,而這個window就是dom中的乙個頂級的物件,所以在匿名函式裡我們要訪問window

或者在window物件上新增屬性或者function的時候就可以用thepara來代替。

具體如下:

//w作為window的形參,就表示window

(function(w)

// wyl.prototype.isarr的作用:在所有的wyl物件上加上isarr(para)的function,

wyl.prototype.isarr = wyl.isarr = function(para) else

} // 傳入window物件

})(window)

具體的用法在注釋裡有說明。

自己實現乙個類似 jQuery 的函式庫

假如我們有乙個需求,需要給元素新增樣式類,使用原生的js很容易搞定。function addclass node,classname 使用 var element document.queryselector div1 addclass element,active function addclas...

aop的乙個小demo

註解方式通知配置增強 切入點及前置通知,後置通知,返回通知,異常通知,環繞通知的配置 aspect service publicclasslogaspect before dolog publicvoiddobefore after dolog publicvoiddoafter 核心業務正常結束時...

乙個JAVA死鎖的Demo

死鎖的條件肯定是兩個鎖以上時,才會 發生死鎖,以下demo是模擬的兩個鎖,通過兩個執行緒分別呼叫兩個方法,這兩個方法加鎖的順序正好相反,從而造成兩個執行緒相互等待,互不釋放鎖 package com.threaddemo public class deadlocksample private voi...