我們知道:在瀏覽器環(huán)境中,常見的 macro task 有 setTimeout、MessageChannel、postMessage、setImmediate。而常見的 m...
JavaScript是函數(shù)式編程語言,支持高階函數(shù)和閉包。你會(huì)發(fā)現(xiàn)Array有map()和filter()方法,而Object沒有這些方法,那該如何解決呢? 自己把這些方法添...
Canvas是HTML5新增的組件,可以用來繪制各種圖表、動(dòng)畫等。由于瀏覽器對HTML5標(biāo)準(zhǔn)支持不一致,通常在使用Canvas前,用canvas.getContext來測試瀏...
眾所周知,JS存在一個(gè)設(shè)計(jì)缺陷,就是所有代碼都為單線程執(zhí)行,所以JS的所有網(wǎng)絡(luò)操作、瀏覽器事件都必須異步執(zhí)行,通過回調(diào)函數(shù)實(shí)現(xiàn): 這種鏈?zhǔn)綄懛ǖ暮锰幵谟谙冉y(tǒng)一執(zhí)行AJAX邏輯...
AJAX即Asynchronous JavaScript and XML,意思就是用JS異步網(wǎng)絡(luò)請求,也就是通過回調(diào)函數(shù)獲得數(shù)據(jù)。AJAX請求數(shù)據(jù)主要依靠XMLHttpReq...
瀏覽器對象 window window對象不但充當(dāng)全局作用域,而且表示瀏覽器窗口。它有innerWidth和innerHeight屬性,可以獲取瀏覽器窗口的內(nèi)部寬度和高度。內(nèi)...
在JS中用typeof操作符獲取對象的類型,它總是返回一個(gè)字符串: 其中number、string、boolean、function和undefined是基本數(shù)據(jù)類型,我們注...
JS中定義函數(shù)的方式與其他語言一樣沒什么差別,但是要知道JS允許傳入任意個(gè)數(shù)參數(shù),如果傳入的參數(shù)比定義的參數(shù)多也沒有問題,函數(shù)內(nèi)部并不會(huì)調(diào)用這些參數(shù): 傳入的參數(shù)比定義的少也...