add.attribute向前端传_前端知识-概念篇
1、一次完整的HTTP事務(wù)是怎樣的一個(gè)過(guò)程?
基本流程:
a. 域名解析
b. 發(fā)起TCP的3次握手
c. 建立TCP連接后發(fā)起http請(qǐng)求
d. 服務(wù)器端響應(yīng)http請(qǐng)求,瀏覽器得到html代碼
e. 瀏覽器解析html代碼,并請(qǐng)求html代碼中的資源
f. 瀏覽器對(duì)頁(yè)面進(jìn)行渲染呈現(xiàn)給用戶
2、對(duì)前端工程師這個(gè)職位你是怎么樣理解的?
a. 前端是最貼近用戶的程序員,前端的能力就是能讓產(chǎn)品從 90分進(jìn)化到 100 分,甚至更好
b. 參與項(xiàng)目,快速高質(zhì)量完成實(shí)現(xiàn)效果圖,精確到1px;
c. 與團(tuán)隊(duì)成員,UI設(shè)計(jì),產(chǎn)品經(jīng)理的溝通;
d. 做好的頁(yè)面結(jié)構(gòu),頁(yè)面重構(gòu)和用戶體驗(yàn);
e. 處理hack,兼容、寫(xiě)出優(yōu)美的代碼格式;
f. 針對(duì)服務(wù)器的優(yōu)化、擁抱最新前端技術(shù)。
3、MVC、MVVM
1、MVC
- 模型(Model):數(shù)據(jù)保存
 - 視圖(View):用戶界面
 - 控制器(Controller):業(yè)務(wù)邏輯
 - (1)View 傳送指令到 Controller
 - (2)Controller 完成業(yè)務(wù)邏輯后,要求 Model 改變狀態(tài)
 - (3)Model 將新的數(shù)據(jù)發(fā)送到 View ,用戶得到反饋
 - 所有通信都是單向的。
 
2、MVVM
- 模型(Model)
 - 視圖(View)
 - 視圖模型(ViewModel)
 - (1)各部分間都是雙向通信
 - (2)View 與 Model 不發(fā)生聯(lián)系,都通過(guò) ViewModel 傳遞
 - (3)View 非常薄,不部署任何業(yè)務(wù)邏輯,稱(chēng)為“被動(dòng)視圖”(Passive View),即沒(méi)有任何主動(dòng)性;而 ViewModel 非常厚,所有邏輯都部署在那里
 - 采用雙向綁定(data-binding):View 的變動(dòng),自動(dòng)反映在 ViewModel ,反之亦然。
 
jquery面試題
4、$(document).ready() 是個(gè)什么函數(shù)?為什么要用它?
這 個(gè)問(wèn)題很重要,并且常常被問(wèn)到。 ready() 函數(shù)用于在文檔進(jìn)入ready狀態(tài)時(shí)執(zhí)行代碼。當(dāng)DOM 完全加載(例如HTML被完全解析DOM樹(shù)構(gòu)建完成時(shí)),jQuery允許你執(zhí)行代碼。使用$(document).ready()的最大好處在于它適用 于所有瀏覽器,jQuery幫你解決了跨瀏覽器的難題。需要進(jìn)一步了解的用戶可以點(diǎn)擊 answer鏈接查看詳細(xì)討論。
5、 JavaScript window.onload 事件和 jQuery ready 函數(shù)有何不同?
這 個(gè)問(wèn)答是緊接著上一個(gè)的。JavaScript window.onload 事件和 jQuery ready 函數(shù)之間的主要區(qū)別是,前者除了要等待 DOM 被創(chuàng)建還要等到包括大型圖片、音頻、視頻在內(nèi)的所有外部資源都完全加載。如果加載圖片和媒體內(nèi)容花費(fèi)了大量時(shí)間,用戶就會(huì)感受到定義在 window.onload 事件上的代碼在執(zhí)行時(shí)有明顯的延遲。
另 一方面,jQuery ready() 函數(shù)只需對(duì) DOM 樹(shù)的等待,而無(wú)需對(duì)圖像或外部資源加載的等待,從而執(zhí)行起來(lái)更快。使用 jQuery $(document).ready() 的另一個(gè)優(yōu)勢(shì)是你可以在網(wǎng)頁(yè)里多次使用它,瀏覽器會(huì)按它們?cè)?HTML 頁(yè)面里出現(xiàn)的順序執(zhí)行它們,相反對(duì)于 onload 技術(shù)而言,只能在單一函數(shù)里使用。鑒于這個(gè)好處,用 jQuery ready() 函數(shù)應(yīng)用 JavaScript window.onload 事件要更好些。
6、 如何找到所有 HTML select 標(biāo)簽的選中項(xiàng)?
這是面試?yán)锉容^棘手的 jQuery 問(wèn)題之一。這是個(gè)基礎(chǔ)的問(wèn)題,但是別期望每個(gè) jQuery 初學(xué)者都知道它。你能用下面的 jQuery 選擇器獲取所有具備 multiple=true 的 標(biāo)簽的選中項(xiàng):$('[name=NameOfSelectedTag] :selected')這段代碼結(jié)合使用了屬性選擇器和 :selected 選擇器,結(jié)果只返回被選中的選項(xiàng)。你可按需修改它,比如用 id 屬性而不是 name 屬性來(lái)獲取 標(biāo)簽。
7、jQuery 里的 each() 是什么函數(shù)?你是如何使用它的?
each() 函數(shù)就像是 Java 里的一個(gè) Iterator,它允許你遍歷一個(gè)元素集合。你可以傳一個(gè)函數(shù)給 each() 方法,被調(diào)用的 jQuery 對(duì)象會(huì)在其每個(gè)元素上執(zhí)行傳入的函數(shù)。有時(shí)這個(gè)問(wèn)題會(huì)緊接著上面一個(gè)問(wèn)題,舉個(gè)例子,如何在 alert 框里顯示所有選中項(xiàng)。我們可以用上面的選擇器代碼找出所有選中項(xiàng),然后我們?cè)?alert 框中用 each() 方法來(lái)一個(gè)個(gè)打印它們,代碼如下:
$('[name=NameOfSelectedTag] :selected').each(function(selected) {
alert($(selected).text());
});
其中 text() 方法返回選項(xiàng)的文本。
8、 $(this) 和 this 關(guān)鍵字在 jQuery 中有何不同?
這 對(duì)于很多 jQuery 初學(xué)者來(lái)說(shuō)是一個(gè)棘手的問(wèn)題,其實(shí)是個(gè)簡(jiǎn)單的問(wèn)題。$(this) 返回一個(gè) jQuery 對(duì)象,你可以對(duì)它調(diào)用多個(gè) jQuery 方法,比如用 text() 獲取文本,用val() 獲取值等等。而 this 代表當(dāng)前元素,它是 JavaScript 關(guān)鍵詞中的一個(gè),表示上下文中的當(dāng)前 DOM 元素。你不能對(duì)它調(diào)用 jQuery 方法,直到它被 $() 函數(shù)包裹,例如 $(this)。
9、你如何使用jQuery來(lái)提取一個(gè)HTML 標(biāo)記的屬性 例如.鏈接的href?
attr() 方法被用來(lái)提取任意一個(gè)HTML元素的一個(gè)屬性的值. 你首先需要利用jQuery選擇及選取到所有的鏈接或者一個(gè)特定的鏈接,然后你可以應(yīng)用attr()方法來(lái)獲得他們的href屬性的值。下面的代碼會(huì)找到頁(yè)面中所有的鏈接并返回href值:
$('a').each(function(){
alert($(this).attr('href'));
});
10、jQuery中 detach() 和 remove() 方法的區(qū)別是什么?
盡 管 detach() 和 remove() 方法都被用來(lái)移除一個(gè)DOM元素, 兩者之間的主要不同在于 detach() 會(huì)保持對(duì)過(guò)去被解除元素的跟蹤, 因此它可以被取消解除, 而 remove() 方法則會(huì)保持過(guò)去被移除對(duì)象的引用. 你也還可以看看 用來(lái)向DOM中添加元素的 appendTo() 方法.
11、 使用 CDN 加載 jQuery 庫(kù)的主要優(yōu)勢(shì)是什么 ?
這 是一個(gè)稍微高級(jí)點(diǎn)兒的jQuery問(wèn)題。好吧,除了報(bào)錯(cuò)節(jié)省服務(wù)器帶寬以及更快的下載速度這許多的好處之外, 最重要的是,如果瀏覽器已經(jīng)從同一個(gè)CDN下載類(lèi)相同的 jQuery 版本, 那么它就不會(huì)再去下載它一次. 因此今時(shí)今日,許多公共的網(wǎng)站都將jQuery用于用戶交互和動(dòng)畫(huà), 如果瀏覽器已經(jīng)有了下載好的jQuery庫(kù),網(wǎng)站就能有非常好的展示機(jī)會(huì)。
12、 jQuery 中的方法鏈?zhǔn)鞘裁?#xff1f;使用方法鏈有什么好處?
方法鏈?zhǔn)菍?duì)一個(gè)方法返回的結(jié)果調(diào)用另一個(gè)方法,這使得代碼簡(jiǎn)潔明了,同時(shí)由于只對(duì) DOM 進(jìn)行了一輪查找,性能方面更加出色。
13、你要是在一個(gè) jQuery 事件處理程序里返回了 false 會(huì)怎樣?
這通常用于阻止事件向上冒泡。
14、哪種方式更高效:document.getElementbyId(“myId”) 還是 $(“#myId”)?
第一種,因?yàn)樗苯诱{(diào)用了 JavaScript 引擎。
總結(jié)
以上是生活随笔為你收集整理的add.attribute向前端传_前端知识-概念篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: python 爬取大乐透开奖结果
 - 下一篇: linux ssh yum升级_Linu