摘要:對于早期版本,方法用于直接附加一個事件處理程序到元素上。處理程序附加到對象中當前選中的元素,所以,在綁定事件的時候,這些元素必須已經存在。重繪不會帶來重新布局,并不一定伴隨重排。重排是更明顯的一種改變,可以理解為渲染樹需要重新計算。
本期問題
1.jquery中bind、on和delegate有什么區別?
答:先來看看css88上API的定義:
on在選定的元素上綁定一個或多個事件處理函數。在1.7版本中,on方法提供綁定事件處理的所有功能。
bind對于早期版本,.bind()方法用于直接附加一個事件處理程序到元素上。處理程序附加到jQuery對象中當前選中的元素,所以,在.bind()綁定事件的時候,這些元素必須已經存在。
delegate 為所有匹配選擇器(selector參數)的元素綁定一個或多個事件處理函數,基于一個指定的根元素的子集,匹配的元素包括那些目前已經匹配到的元素,也包括那些今后可能匹配到的元素。
所以說,on相當于bind和delegate的合集。
2.標簽中defer和async屬性的作用是什么?他們有什么區別?
答:首先看一張圖:
從上圖可以看出:
帶有defer和async屬性的script標簽與后續的文檔加載是并行執行的,也就是異步。而帶有defer屬性的js文件要在所有元素解析完、DOMCotentLoad之前完成。
async是加載完立即執行。
3.下面這段代碼在XHTML中能順利運行嗎?如果不能?如何解決?
答:不能。應將小于號變為<
4.請說出下方腳本的執行結果:
var a= 1, b=2; function c(){ alert("c1") } function test(){ alert(a); alert(b); c(); function b(){ return 0 } var a= 5, b=6; function c(){ alert("c2") } } test();
答:undefined、function b(){return 0}、c2.不知道該怎么解釋,有不明白的請留言。
5.下述腳本能正確alert出2么?如果不行請寫出解決方案:
for(var i= 0,l=10,obj=[];i<=l;i++){ obj[i] = function(){ alert(i); }; } obj[2]()
答:不能。會alert11。用閉包。
6.請說出下方腳本執行結果:
var array = [1, 2]; deal(array, array); function deal(arrA, arrB){ arrA = [3, 4]; console.log(array[1]); //打印出什么內容? arrB[1] = 9; console.log(array[1]); //打印出什么內容? }
答:2,9。可參考知乎上的這個答案:數組賦值的問題
7.如何將參數從一個函數傳遞到另一個函數?請寫出實現代碼。
答:閉包。
8.原生ajax的創建過程?
var xmlHttp=new XMLHttpRequest(); xmlHttp.open("GET",url); xmlHttp.send(); xmlHttp.onreadystatechange=function(){ if(xmlHttp.readystate==4&&xmlHttp.status=200){ //success } }
9.解釋一下重繪和重排?
答:
重繪是一個元素外觀的改變所觸發的瀏覽器行為,例如改變visibility、outline、背景色等屬性。瀏覽器會根據元素的新屬性重新繪制,使元素呈現新的外觀。重繪不會帶來重新布局,并不一定伴隨重排。
重排是更明顯的一種改變,可以理解為渲染樹需要重新計算。下面是常見的觸發重排的操作:1. DOM元素的幾何屬性變化、 2. DOM樹的結構變化、3. 獲取某些屬性
10.querySelector存在什么問題?
答:
兼容性。IE8+
對瀏覽器支持的選擇器,它只是選擇性支持。
getElementBy系列的執行速度基本都是querySelectorAll的100+倍
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/115090.html
摘要:對于早期版本,方法用于直接附加一個事件處理程序到元素上。處理程序附加到對象中當前選中的元素,所以,在綁定事件的時候,這些元素必須已經存在。重繪不會帶來重新布局,并不一定伴隨重排。重排是更明顯的一種改變,可以理解為渲染樹需要重新計算。 本期問題 1.jquery中bind、on和delegate有什么區別? 答:先來看看css88上API的定義: on在選定的元素上綁定一個或多個事件處...
摘要:對于早期版本,方法用于直接附加一個事件處理程序到元素上。處理程序附加到對象中當前選中的元素,所以,在綁定事件的時候,這些元素必須已經存在。重繪不會帶來重新布局,并不一定伴隨重排。重排是更明顯的一種改變,可以理解為渲染樹需要重新計算。 本期問題 1.jquery中bind、on和delegate有什么區別? 答:先來看看css88上API的定義: on在選定的元素上綁定一個或多個事件處...
摘要:堅持就是勝利養成好習慣從每日一練開始做起通過一個月的努力,終于迎來了我們每日一練的榜單讓我們一起看看都有哪些博主你在不在其中榜單揭曉請看獲獎博主昵稱阿年嗯啊猿碼叔叔雪離話丶小輝獎品展示度暖暖恒溫 堅持就是勝利!養成好習慣從每日一練開始做起~ 通過一個月的努力,終于迎來了我們每日一練的TOP1...
摘要:問題在每日一練中介紹了如何一個可迭代對象,使用運算符即可但往往我們遇到的問題是可迭代對象中的數量是不確定的這個時候該如何拿到我們想要的元素,比如我們只需要可迭代對象的第一個或者最后一個元素而已解決方案使用中的運算符例如我們需要拿到一個元組的 問題 在每日一練0001中介紹了如何unpack一個可迭代對象,使用,運算符即可 但往往我們遇到的問題是可迭代對象中的數量是不確定的 這個時候該如...
摘要:問題為什么返回的是討論這是我在上發現的一個有趣的問題,這個問題可以簡單的用一張圖解釋因為最后一個字母最后或者第一個字母之前也包含了一個空的字符串,所以算出來是個但更有趣的是,返回的是這就延伸出來兩個哲學問題來源關注歡迎關注我的微信公眾號每日 問題 為什么test.count()返回的是5? >>> test.count() 5 討論 這是我在StackOverflow上發現的一個有趣的...
閱讀 3674·2021-11-16 11:41
閱讀 2879·2021-09-23 11:45
閱讀 686·2019-08-30 15:44
閱讀 538·2019-08-30 13:10
閱讀 1961·2019-08-30 12:49
閱讀 3525·2019-08-28 17:51
閱讀 1470·2019-08-26 12:20
閱讀 697·2019-08-23 17:56