(1)瀏覽器需要渲染dom
(2)js可以修改dom結構
(3)js執行的時候,瀏覽器dom渲染會暫停
(4)兩段js也不能同時執行(都修改dom就衝突了)
(5)html5中webworker支援多執行緒,但不能訪問dom(應用不廣泛)
console.log(100)
$.ajax(
})console.log(300)
console.log(400)複製**
問題:(1)沒有按照書寫方式執行,可讀性差
(2)callback中不容易模組化(非同步之後需要執行的函式)
(1)同步**,直接執行
(2)非同步函式先放在非同步佇列中
(3)待同步函式執行完畢,輪詢執行非同步佇列的函式(像有個哨兵一直進行監視,非同步佇列中一有函式就開始執行)
settimeout(function
() )
console.log(200)
// 主程序
console.log(200)
// 非同步佇列
function
() 複製**
settimeout(function
() , 100)
settimeout(function
() )
console.log(3)
// 主程序
console.log(3)
// 非同步佇列
// 立即加入
function
() // 100ms 之後被放入
function
() 複製**
// jquery1.5之前
var ajax = $.ajax(,
error: function
() })
console.log(ajax) // 返回乙個xhr物件
// jquery 1.5之後 需要新加**時可以直接只加個done或者then進行擴充套件
var ajax = $.ajax('***')
ajax.done(function
() ).fail(function
() ).done(function
() {})
ajax.then(function
() , function
() ).then(function
() , function
() )複製**
jquery deferred 和 promise的區別?
(1)jquery deferred 有resolve() 、reject()主動觸發的函式也有then()、done()、error()被動監聽的函式
(2)promise 只能被動監聽 不能主動修改
// 已經封裝好的(a 員工)
function
waithandle
() settimeout(task, 1000)
// wait 返回
return dtd.promise()
}// 最終返回
return
wait(dtd)
}// 使用(b 員工)
var w = waithandle() // promise 物件
$.when(w).then(function
() , function
() )複製**
function loadimg(src)
img.onerror = function
() img.src = src
})return promise
}var src = '位址'
var result = loadimg(src)
result.then(function (img) ,function
() )
result.then(function (img) )複製**
規定:then只接受乙個引數,最後統一用catch捕獲異常
(1)三種狀態:pending、fulfilled、rejected;初始狀態是:pending;pending變為fulfilled,或者pending變成rejected(狀態變化不可逆)
(2)promise 例項必須實現then 這個方法;then()必須可以接受兩個函式作為引數;then返回必須是乙個promise例項(沒有返回時預設被呼叫的例項); then只是將callback拆分了
前端面試寶典(二)
1 對web標準以及w3c的理解與認識 標籤閉合 標籤小寫 不亂巢狀 提高搜尋機械人搜尋機率。更少的 和元件,容易維護和改版,不需要變動頁面內容 列印版本而不需要複製內容,提高 的易用性。2 行內元素有哪些?塊級元素有哪些?css盒模型是什麼?塊級元素 div p h系列 form ul 行內元素 ...
前端面試日記(二)
大概是在6月11號在boss直聘投的簡歷,6月12號中午收到 約的面試時間,剛開始說是13號晚上7點 後面可能時間有變,中午來了個 說改到9 10點 怎麼說算是第一次面試自己目標公司之一吧,記錄下不管過沒過,也是乙份寶貴經歷。h 前端的學習的話一般是得通過實踐的,平時有自己做過專案嗎?me 學習基礎...
前端面試二 HTML
1 語義化的標籤就是讓標籤有自己的含意 例如表示頭部表示尾部表示頁面主體等。2 語義化標籤的優點 結構清晰,有利於搜尋引擎優化 seo 便於團隊開發和維護,可讀性更高。input是單行文字框,不能換行。有value值 textarea是多行文字框,沒有value值 textarea style he...