撩課-Web大前端每天5道面試題-Day16

1.實現(xiàn)一個函數(shù)clone鳍贾,可以對JavaScript中的5種主要的數(shù)據(jù)類型(包括Number该默、String、Object限嫌、Array、Boolean)進(jìn)行值復(fù)制


考察點(diǎn)1:對于基本數(shù)據(jù)類型和引用數(shù)據(jù)類型在內(nèi)存中存放的是值還是指針這一區(qū)別是否清楚
考察點(diǎn)2:是否知道如何判斷一個變量是什么類型的
考察點(diǎn)3:遞歸算法的設(shè)計
// 方法一:
Object.prototype.clone = function() {
var o = this.constructor === Array ? [] : {};
for (var e in this) {
o[e] = typeof this[e] === "object" ? this[e].clone() : this[e];
}
return o;
}

//方法二:
/**
* 克隆一個對象
* @param Obj
* @returns
*/
function clone(Obj) {
var buf;
if (Obj instanceof Array) {
buf = []; //創(chuàng)建一個空的數(shù)組
var i = Obj.length;
while (i--) {
buf[i] = clone(Obj[i]);
}
return buf;
} else if (Obj instanceof Object) {
buf = {}; //創(chuàng)建一個空對象
for (var k in Obj) { //為這個對象添加新的屬性
buf[k] = clone(Obj[k]);
}
return buf;
} else { //普通變量直接賦值
return Obj;
}
}

2.下面這個ul时捌,如何點(diǎn)擊每一列的時候alert其index?(閉包)


題目:
 <ul id=”test”>
 <li>這是第一條</li>
 <li>這是第二條</li>
 <li>這是第三條</li>
 </ul>
// 方法一:
var lis=document.getElementById('test').getElementsByTagName('li');
for(var i=0;i<3;i++)
{
lis[i].index=i;
lis[i].onclick=function(){
alert(this.index);
};
}

//方法二:
var lis=document.getElementById('test').getElementsByTagName('li');
for(var i=0;i<3;i++)
{
lis[i].index=i;
lis[i].onclick=(function(a){
return function() {
alert(a);
}
})(i);
}

3.對于MVVM的理解怒医?


MVVM 是 Model-View-ViewModel 的縮寫。
Model代表數(shù)據(jù)模型奢讨,也可以在Model中定義數(shù)據(jù)修改和操作的業(yè)務(wù)邏輯稚叹。
View 代表UI 組件,它負(fù)責(zé)將數(shù)據(jù)模型轉(zhuǎn)化成UI 展現(xiàn)出來拿诸。
ViewModel 監(jiān)聽模型數(shù)據(jù)的改變和控制視圖行為扒袖、處理用戶交互,
簡單理解就是一個同步View 和 Model的對象亩码,連接Model和View季率。
在MVVM架構(gòu)下,View 和 Model 之間并沒有直接的聯(lián)系蟀伸,
而是通過ViewModel進(jìn)行交互蚀同,Model 和 ViewModel 之間的交互是雙向的缅刽,
 因此View 數(shù)據(jù)的變化會同步到Model中,而Model 數(shù)據(jù)的變化也會立即反應(yīng)到View 上蠢络。
ViewModel 通過雙向數(shù)據(jù)綁定把 View 層和 Model 層連接了起來衰猛,
而View 和 Model 之間的同步工作完全是自動的,無需人為干涉刹孔,
因此開發(fā)者只需關(guān)注業(yè)務(wù)邏輯啡省,不需要手動操作DOM, 
不需要關(guān)注數(shù)據(jù)狀態(tài)的同步問題,
復(fù)雜的數(shù)據(jù)狀態(tài)維護(hù)完全由 MVVM 來統(tǒng)一管理髓霞。

4.什么是vue生命周期卦睹?


Vue 實例從創(chuàng)建到銷毀的過程,就是生命周期方库。
從開始創(chuàng)建结序、初始化數(shù)據(jù)、編譯模板纵潦、掛載Dom→渲染徐鹤、更新→渲染、銷毀等一系列過程邀层,
稱之為 Vue 的生命周期返敬。

5.Vue的生命周期?


beforeCreate(創(chuàng)建前) 在數(shù)據(jù)觀測和初始化事件還未開始
created(創(chuàng)建后) 完成數(shù)據(jù)觀測,屬性和方法的運(yùn)算寥院,
初始化事件劲赠,$el屬性還沒有顯示出來
beforeMount(載入前) 在掛載開始之前被調(diào)用,
相關(guān)的render函數(shù)首次被調(diào)用秸谢。
實例已完成以下的配置:編譯模板凛澎,把data里面的數(shù)據(jù)和模板生成html。
注意此時還沒有掛載html到頁面上估蹄。
mounted(載入后) 在el 被新創(chuàng)建的 vm.$el 替換预厌,并掛載到實例上去之后調(diào)用。
實例已完成以下的配置:用上面編譯好的html內(nèi)容替換el屬性指向的DOM對象元媚。
完成模板中的html渲染到html頁面中。此過程中進(jìn)行ajax交互苗沧。
beforeUpdate(更新前) 在數(shù)據(jù)更新之前調(diào)用刊棕,發(fā)生在虛擬DOM重新渲染和打補(bǔ)丁之前。
可以在該鉤子中進(jìn)一步地更改狀態(tài)待逞,
不會觸發(fā)附加的重渲染過程甥角。
updated(更新后) 在由于數(shù)據(jù)更改導(dǎo)致的虛擬DOM重新渲染和打補(bǔ)丁之后調(diào)用。
調(diào)用時识樱,組件DOM已經(jīng)更新嗤无,所以可以執(zhí)行依賴于DOM的操作震束。
然而在大多數(shù)情況下,應(yīng)該避免在此期間更改狀態(tài)当犯,因為這可能會導(dǎo)致更新無限循環(huán)垢村。
該鉤子在服務(wù)器端渲染期間不被調(diào)用。
beforeDestroy(銷毀前) 在實例銷毀之前調(diào)用嚎卫。
實例仍然完全可用嘉栓。
destroyed(銷毀后) 在實例銷毀之后調(diào)用。
調(diào)用后拓诸,所有的事件監(jiān)聽器會被移除侵佃,所有的子實例也會被銷毀。該鉤子在服務(wù)器端渲染期間不被調(diào)用奠支。

如下圖所示:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末馋辈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子倍谜,更是在濱河造成了極大的恐慌迈螟,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枢劝,死亡現(xiàn)場離奇詭異井联,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)您旁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門烙常,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鹤盒,你說我怎么就攤上這事蚕脏。” “怎么了侦锯?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵驼鞭,是天一觀的道長。 經(jīng)常有香客問我尺碰,道長挣棕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任亲桥,我火速辦了婚禮洛心,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘题篷。我一直安慰自己词身,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布番枚。 她就那樣靜靜地躺著法严,像睡著了一般损敷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上深啤,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天拗馒,我揣著相機(jī)與錄音,去河邊找鬼墓塌。 笑死瘟忱,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的苫幢。 我是一名探鬼主播访诱,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼韩肝!你這毒婦竟也來了触菜?” 一聲冷哼從身側(cè)響起哀峻,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤涡相,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后剩蟀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體催蝗,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年育特,在試婚紗的時候發(fā)現(xiàn)自己被綠了丙号。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡缰冤,死狀恐怖犬缨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情棉浸,我是刑警寧澤怀薛,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站迷郑,受9級特大地震影響枝恋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嗡害,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一鼓择、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧就漾,春花似錦馅巷、人聲如沸仑氛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至首妖,卻和暖如春偎漫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背有缆。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工象踊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棚壁。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓杯矩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袖外。 傳聞我的和親對象是個殘疾皇子史隆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)曼验。 注意:講述HT...
    kismetajun閱讀 27,422評論 1 45
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化泌射,入門級到專家級,廣度和深度都會有所增加鬓照。 題目類型: 理論知...
    怡寶丶閱讀 2,569評論 0 7
  • 大部分的成功人士熔酷,大部分的書籍,都會告訴你:自信是決定一個人是否成功的一個非常重要的因素豺裆。 這點(diǎn)拒秘,我相信你不會反對...
    東邪日記閱讀 426評論 0 0
  • 1.28 日精進(jìn):敬畏—進(jìn)入—體驗—交給—持續(xù) 1,缺啥補(bǔ)啥,怕啥練啥留储; 2,一切為我所用翼抠,所用為團(tuán)隊家; 3获讳,...
    京心達(dá)畢玉娜閱讀 95評論 0 0