-
indexOf,匹配到的是函數指針。測試了下,的確可以通過指針匹配到回調隊列中是否有函數。
查看全部 -
add的時候,拿到add之前的回調數組長度,如果是memory模式,獲取到回調數組中最后一個回調函數,再push新增加的回調到回調數組中。如這個情況arr = [lastFn, newFn],然后_fire,會將上一次fire傳進的值(舊值),通過arr回調去執行一遍,_fire內部也已經將firingStart置為0了,所以不會影響下一次的fire,會正常將所有注冊的回調,以新值傳入來執行一遍。
查看全部 -
異步鏈式promise.then().then().then()
查看全部 -
之所以簡單的通過
return?new?ajquery.fn.init(selector)
其返回出的實例對象無法訪問ajquery原型,是因為init方法的調用是通過new調用的,Init方法本身原型,又沒有加工過任何方法。所以new ajquery.fn.init(selector),和new一個簡單的空函數沒有什么區別。
function?simpleFn(){ ????return?this }
JS高級程序設計里面,關于原型那塊其實有提到過方法,就是改寫prototype的指向,當然還要注意讓constructor指向正確的函數
查看全部 -
類2掛載在原型上的方法,則需要,則實例搜索原型鏈,這里搜索原型鏈,效率肯定是比寫在自身上低的,但是基本可以忽略,僅搜索一層而已。
查看全部 -
類2比類1的好處,節省了內存空間,這個好處很直接明了。一直以來對這塊的認識都是減少重復方法,可以共用。
查看全部 -
為了讓undefined是真正的undefined,以不傳參數的形式,參數默認稱為真正的undefined
查看全部 -
fn與jQuery其實是2個不同的對象,jQuery.extend 調用的時候,this是指向jQuery對象,所以這里擴展在jQuery上。而jQuery.fn.extend 調用的時候,this指向fn對象,jQuery.fn 和jQuery.prototype指向同一對象,擴展fn就是擴展jQuery.prototype原型對象。這里增加的是原型方法,也就是對象方法了。
查看全部 -
JQuery中的ready與load事件
解析HTML結構
加載外部腳本和css樣式表文件
解析并執行腳本代碼
構造HTML DOM 模型//ready
加載圖片等外部文件
頁面加載完成//load
ready與load的區別:
????ready完成了基本的DOM結構的構建
查看全部 -
11查看全部
-
為什么進度一直在4%查看全部
-
<!-- 例一 -->
<p>First Paragraph</p>
<p>Second Paragraph</p>
<p>Yet one more Paragraph</p></br></br></br>
<!-- 例二 -->
<button id="go">» Run</button>
<div id="block">Hello!</div></br></br></br>
<!-- 例三 -->
<form>
? ? <input type="checkbox" name="newsletter" value="Hourly" checked="checked">
? ? <input type="checkbox" name="newsletter" value="Daily">
? ? <input type="checkbox" name="newsletter" value="Weekly">
? ? <input type="checkbox" name="newsletter" value="Monthly" checked>
? ? <input type="checkbox" name="newsletter" value="Yearly">
</form>
<div id="t"></div>
<script>
? ??
? //點擊隱藏P標簽的內容,slideUp(speed,callback),如slideUp(2000或"slow",slideUp執行完后搖執行的函數)
? $("p").click(function () {
? ? ? $(this).slideUp();
? });
? ?
? ?
??
? //»為 ? 位運算符的意思,點擊按鈕后,DIV進行變換動畫,調整成設置好的參數,在1500毫秒內進行
? $("#go").click(function(){
? ? ? $("#block").animate({
? ? ? ? width: "70%",
? ? ? ? opacity: 0.4,
? ? ? ? marginLeft: "0.6in",
? ? ? ? fontSize: "3em",
? ? ? ? borderWidth: "10px"
? ? ? }, 1500 );
? });
??
??
? //在DIV中顯示勾選個數,"input:checked"為一個數組,通過(n === 1 ? " is" : " are") 來判斷n是否等于1,如是則用is,否則用are
?var countChecked = function() {
? ? var n = $( "input:checked" ).length;
? ?$( "#t" ).text( n + (n === 1 ? " is" : " are") + " checked!" );
};
$( "input[type=checkbox]" ).on( "click", countChecked );
查看全部 -
jQuery中ready先執行,load事件后執行
DOM文檔加載的步驟: (1)?解析HTML結構。 (2)?加載外部腳本和樣式表文件。 (3)?解析并執行腳本代碼。 (4)?構造HTML?DOM模型。//ready (5)?加載圖片等外部文件。 (6)?頁面加載完畢。//load
查看全部 -
<script src="https://cdn.bootcss.com/jquery/2.1.0/jquery.min.js"></script>
查看全部 -
jQuery文檔針對業務層的Ajax的處理提供了一系列的門面接口:
.ajaxComplete() .ajaxError() .ajaxSend() .ajaxStart() .ajaxStop() .ajaxSuccess()
底層接口:
jQuery.ajax() jQuery.ajaxSetup()
快捷方法:
jQuery.get() jQuery.getJSON() jQuery.getScript() jQuery.post()
查看全部
舉報