摘要:此選擇器等價于此選擇器等價于要匹配含有特定屬性但不等于特定值的元素請使用。之前看到的派上了用場。用法返回值集合元素說明匹配給定的屬性是以包含某些值的元素??梢园我猱惒讲僮?,而必須是同步函數(shù)。
一面 1. 自我介紹 2. jQuery的選擇器
jQuery的選擇器與css中的選擇器很相似,通過使用css中的選擇器來選取HTML節(jié)點
1. #id 用法: $("#myDiv"); 返回值 單個元素的組成的集合 說明: 這個就是直接選擇html中的id="myDiv" 2. Element 用法: $("div") 返回值 集合元素 說明: element的英文翻譯過來是”元素”,所以element其實就是html已經(jīng)定義的標(biāo)簽元素,例如div, input, a等等. 3. class 用法: $(".myClass") 返回值 集合元素 說明: 這個標(biāo)簽是直接選擇html代碼中class="myClass"的元素或元素組(因為在同一html頁面中 class是可以存在多個同樣值的) 4. * 用法: $("*") 返回值 集合元素 說明: 匹配所有元素,多用于結(jié)合上下文來搜索 5. selector1, selector2, selectorN 用法: $("div,span,p.myClass") 返回值 集合元素 說明: 將每一個選擇器匹配到的元素合并后一起返回.你可以指定任意多個選擇器, 并將匹配到的元素合 并到一個結(jié)果內(nèi)。其中p.myClass是表示匹配元素 p class="myClass"
其次可以使用屬性選擇器,例如input中的name,type屬性等
1、[attribute] 用法: $("div[id]") ; 返回值 集合元素 說明: 匹配包含給定屬性的元素。例子中是選取了所有帶”id”屬性的div標(biāo)簽。 2、[attribute=value] 用法: $("input[name="newsletter"]").attr("checked", true); 返回值 集合元素 說明: 匹配給定的屬性是某個特定值的元素.例子中選取了所有 name 屬性是 newsletter 的 input 元素。 3、[attribute!=value] 用法: $("div[title!="test"]").css("background","yellow"); 返回值 集合元素 說明: 匹配所有不含有指定的屬性,或者屬性不等于特定值的元素。 此選擇器等價于:not此選擇器等價于:not([attr=value]),要匹配含有特定屬性但不等于特定值的元素,請使用[attr]:not([attr=value])。之前看到的:not 派上了用場。 4、[attribute^=value] 用法: $(”input[name^=‘news’]“) 返回值 集合元素 說明: 匹配給定的屬性是以某些值開始的元素.,我們又見到了這幾個類似于正則匹配的符號。 5、[attribute$=value] 用法: $("input[name$="letter"]") 返回值 集合元素 說明: 匹配給定的屬性是以某些值結(jié)尾的元素。 6、[attribute*=value] 用法: $("input[name*="man"]") 返回值 集合元素 說明: 匹配給定的屬性是以包含某些值的元素。 7、[attributeFilter1][attributeFilter2][attributeFilterN] 用法: $("input[id][name$="man"]") 返回值 集合元素 說明: 復(fù)合屬性選擇器,需要同時滿足多個條件時使用.又是一個組合,這種情況我們實際使用的時候很常用.這個例子中選擇的是所有含有 id 屬性,并且它的 name 屬性是以 man 結(jié)尾的元素。
其他具體可以查看JQuery_九大選擇器3. 如何尋找子元素a的父元素中帶class="abc"的兄弟節(jié)點
我的想法是首先尋找a標(biāo)簽的全部祖先元素$("a").parents(),然后找到其中class="abc"的元素$("a").parents().filter(".abc"),最后再找到這些節(jié)點的兄弟節(jié)點即可$("a").parents().filter(".abc").siblings()4. 寫一個簡單的jQuery插件(打印"Hello World")
這個主要有兩種方法
類級別開發(fā)插件
對象級別開發(fā)
// 一、類級別開發(fā)插件 // 1. 直接給jquer添加全局函數(shù) jQuery.printHelloWorld = function(){ console.log("Hello World!!!"); } // 2. 用extend()方法。extend是jquery提供的一個方法,把多個對象合并起來,參數(shù)是object $.extend({ printHelloWorld:function(){ console.log("Hello World!!!"); } }) // 3. 使用命名空間(如果不使用命名空間容易和其他引入的JS庫里面的同名方法沖突) jQuery.test = { printHelloWorld: function () { console.log("Hello World!!!"); } } // 調(diào)用 $.printHelloWorld(); $.test.printHelloWorld(); // 二、對象級別開發(fā) // 第一行的;一定要寫 ;(function($){ $.printHelloWorld = function(){ console.log("Hello World!!!"); } }(jQuery)) // 調(diào)用 $.printHelloWorld();5. 跨域的解決方法
經(jīng)典問題,具體參考深入理解前端跨域問題的解決方案6. ES6有了解嗎
首先回答了let與const7. Promise解決了什么問題let定義變量,相對于var,它修復(fù)了一些問題,比如變量提升、重復(fù)定義等問題,并且const 和let的定義具有塊級作用域;
const定義常量,但是const定義的常量只是值不可變,即基本數(shù)據(jù)類型不可變,對于引用類型,因為它建立的是引用,所以即使使用const定義的對象,其屬性還是可變的(這個當(dāng)時在論客科技的時候就有被追問到);
然后就說到Promise相關(guān)
8. 你覺得Promise能解決回調(diào)地獄嗎?Promise主要解決了回調(diào)地獄的問題;
除了解決回調(diào)地獄,還可以為了我們的代碼更加具有可讀性和可維護性,我們需要將數(shù)據(jù)請求與數(shù)據(jù)處理明確的區(qū)分開來。
當(dāng)時面試官問這個問題的時候,我認為他問的是怎樣正確使用才可以正確解決回調(diào)地獄的問題。有一種情況就是即使使用了Promise也同樣會出現(xiàn)回調(diào)地獄,這是因為使用方法錯誤了,如下:
// 當(dāng)時由于剛開始接觸Promise還是下意識的使用這種回調(diào)方法,導(dǎo)致產(chǎn)生了回調(diào)地獄 modifyInfoData().then(function (res) { let info_id = res.body.data; modifyInfoPic(info_id).then(res => { modifyInfoFile(info_id).then(res => { _this.$message({ message: "提交成功", type: "success" }); }) }); }); // 應(yīng)該修改為 modifyInfoData().then(function (res) { let info_id = res.body.data; modifyInfoPic(info_id); }).then(function (res) { let info_id = res.body.data; modifyInfoFile(info_id); }).then(res => { _this.$message({ message: "提交成功", type: "success" }); });9. 現(xiàn)在有兩個字符串var a = "aaa"和var b = "bbb如何不借助任何函數(shù)和中間變量交換他們
這里只寫一個相對比較萬能的方法,其他可以參考JavaScript交換兩個變量值的七種解決方案
var a = "aaa"; var b = "bbb"; a = [b, b=a][0]; // 根據(jù)運算符優(yōu)先級,首先執(zhí)行b=a,此時的b直接得到了a的變量值,然后一步數(shù)組索引讓a得到了b的值10. vue中vuex的action和mutation區(qū)別
11. localStorage和SessionStorage區(qū)別只有Mutation可以直接修改State,而Action只能通過Mutation間接的修改State。
Action 可以包含任意異步操作,而Mutation 必須是同步函數(shù)。(Mutation 的同步主要是為了可以方便我們在devtools中檢測到狀態(tài)的變化)
在組件中Action是使用dispatch分發(fā),如:this.$store.dispatch("updateUserInfo", "nick");; Mutation使用commit,如:this.$store.commit("increment", "nick");
Action中的方法和 Mutation 一樣,最多只有兩個形參,第一個為 context,可以為payload,需要傳多個參數(shù)的時候可以以對象的形式傳參。
12. 有一個數(shù)據(jù),應(yīng)該在vue中的哪個鉤子函數(shù)中執(zhí)行?localStorage的生命周期是永久性的; sessionStorage 的生命周期是在瀏覽器關(guān)閉前
vue有8大生命周期,用的最多的就是created和 mounted,由于在created階段中已經(jīng)完成了data的初始化,所以我認為是可以在這個階段就向后臺請求數(shù)據(jù),綁定到data中。13. 如果數(shù)據(jù)量很大,在created執(zhí)行會不會很慢?
當(dāng)我回答后,面試官就接下來問了我下一個問題……
當(dāng)時我是這樣回答的:如果數(shù)據(jù)量很大,向后臺請求速度很慢,我會采用異步加載的方式,在獲取數(shù)據(jù)的時候給頁面加載一個loading,使得交互盡量的良好吧。14. 有了解過多頁面嗎?有處理過自適應(yīng)呢? 15. 為什么想做前端? 16. 自我驅(qū)動?數(shù)據(jù)驅(qū)動? 二面 1. 暑假實習(xí)過? 2. 實習(xí)主要工作內(nèi)容? 3. 有做過前端的相關(guān)的插件或組件嗎? 4. 怎么理解Vue開發(fā)? 5. 實習(xí)的時候做怎樣的系統(tǒng)? 6. 怎么理解Vue開發(fā)?這兩個問題回答的不是非常的好,希望有人可以幫忙解答一下嗎?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/98338.html
摘要:其中經(jīng)歷了入門到放棄系列的火熱,想起了此題目,可直到其熱度褪去依然沒有開寫。再之前的實習(xí)也是上午面試下午入職的。 這是前幾篇前端面試文章的結(jié)尾,是很多個月前就該寫下的事情。其中經(jīng)歷了入門到放棄系列的火熱,想起了此題目,可直到其熱度褪去依然沒有開寫。不能再拖了,否則事情估計都快忘光了。 面試過程 依然是某金融集團的外包,這次換了一個外包公司。首先是電話面試,還是還是些常見的前端問題,自己...
摘要:阿里巴巴有一群天馬行空腳踏實地的阿里星。天馬行空腳踏實地奮斗在阿里巴巴生態(tài)圈里,阿里星們高考狀元清華博士論文達人的光環(huán)早已褪去,但是不斷學(xué)習(xí),不斷接受挑戰(zhàn),仍然是這些學(xué)霸的本色。 showImg(https://segmentfault.com/img/remote/1460000018728353); 阿里巴巴有一群天馬行空腳踏實地的阿里星。 阿里巴巴的春季校招已經(jīng)啟動。在阿里的技術(shù)...
摘要:阿里巴巴有一群天馬行空腳踏實地的阿里星。天馬行空腳踏實地奮斗在阿里巴巴生態(tài)圈里,阿里星們高考狀元清華博士論文達人的光環(huán)早已褪去,但是不斷學(xué)習(xí),不斷接受挑戰(zhàn),仍然是這些學(xué)霸的本色。 showImg(https://segmentfault.com/img/remote/1460000018728353); 阿里巴巴有一群天馬行空腳踏實地的阿里星。 阿里巴巴的春季校招已經(jīng)啟動。在阿里的技術(shù)...
摘要:數(shù)據(jù)結(jié)構(gòu)和算法樹快速排序,堆排序,插入排序其實八大排序算法都應(yīng)該了解一致性算法,一致性算法的應(yīng)用的內(nèi)存結(jié)構(gòu)。如何存儲一個的。八大排序算法一定要手敲一遍快排,堆排尤其重要。面試是一個雙向選擇的過程,不要抱著畏懼的心態(tài)去面試,不利于自己的發(fā)揮。 前言 16年畢業(yè)到現(xiàn)在也近兩年了,最近面試了阿里集團(菜鳥網(wǎng)絡(luò),螞蟻金服),網(wǎng)易,滴滴,點我達,最終收到點我達,網(wǎng)易offer,螞蟻金服二面掛掉,...
摘要:中四種修飾符的限制范圍。數(shù)據(jù)結(jié)構(gòu)和算法樹快速排序,堆排序,插入排序其實八大排序算法都應(yīng)該了解一致性算法,一致性算法的應(yīng)用的內(nèi)存結(jié)構(gòu)。的部署方式,主從,集群。八大排序算法一定要手敲一遍快排,堆排尤其重要。 前言 15年畢業(yè)到現(xiàn)在也近三年了,最近面試了阿里集團(菜鳥網(wǎng)絡(luò),螞蟻金服),網(wǎng)易,滴滴,點我達,最終收到點我達,網(wǎng)易offer,螞蟻金服二面掛掉,菜鳥網(wǎng)絡(luò)一個月了還在流程中...最終有...
閱讀 3610·2023-04-26 02:10
閱讀 1396·2021-11-22 15:25
閱讀 1702·2021-09-22 10:02
閱讀 945·2021-09-06 15:02
閱讀 3503·2019-08-30 15:55
閱讀 633·2019-08-30 13:58
閱讀 2807·2019-08-30 12:53
閱讀 3091·2019-08-29 12:38