面試分享:2018阿里巴巴前端面試總結(jié)(題目+答案)

原文鏈接:blog.ihoey.com

使用css實(shí)現(xiàn)一個(gè)持續(xù)的動(dòng)畫效果

animation:mymove 5s infinite;

@keyframes mymove {

from {top:0px;}

to {top:200px;}

}

主要考:animation 用法

使用js實(shí)現(xiàn)一個(gè)持續(xù)的動(dòng)畫效果

最開始的思路是用定時(shí)器實(shí)現(xiàn)噪馏,最后沒(méi)有想的太完整豹爹,面試官給出的答案是用requestAnimationFrame煎楣。

定時(shí)器思路

var e = document.getElementById('e')

var falg = true;

var left = 0;

setInterval(() => {? ?

?left == 0 ? falg = true : left == 100 ? falg = false : '? '? ??

falg ? e.style.left = ` ${left++}px` : e.style.left = ` ${left--}px`}, 1000 / 60)

requestAnimationFrame

由于之前沒(méi)有用過(guò)這個(gè) API 所以是現(xiàn)學(xué)的敞峭。

//兼容性處理window.requestAnimFrame = (function(){?

?return? window.requestAnimationFrame? ? ? ||? ? ? ? ?

? ? ? ? ? ? window.webkitRequestAnimationFrame ||? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? window.mozRequestAnimationFrame? ? ||? ? ? ? ?

? ? ? ? ? ? ? function(callback){? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ?window.setTimeout(callback, 1000 / 60);? ? ? ? ? };})();

? ? ? ?var e = document.getElementById("e");

? ? ? ?var flag = true;

? ? ? ? ?var left = 0;

? ? ? ? ? function render() {? ? left == 0 ? flag = true : left == 100 ? flag = false : '';? ? flag ? e.style.left = ` ${left++}px` :? ? ? ?

? ? ? ? ? e.style.left = ` ${left--}px`;}(function animloop() {? ? render();? ? requestAnimFrame(animloop);})();

不足之處請(qǐng)指正(畢竟是現(xiàn)學(xué)的)順便查了一下優(yōu)勢(shì):

瀏覽器可以優(yōu)化并行的動(dòng)畫動(dòng)作,更合理的重新排列動(dòng)作序列袜香,并把能夠合并的動(dòng)作放在一個(gè)渲染周期內(nèi)完成榛鼎,從而呈現(xiàn)出更流暢的動(dòng)畫效果

解決毫秒的不精確性

避免過(guò)度渲染(渲染頻率太高、tab 不可見暫停等等)

注:requestAnimFrame 和 定時(shí)器一樣也頭一個(gè)類似的清除方法 cancelAnimationFrame兢卵。

右邊寬度固定习瑰,左邊自適應(yīng)

第一種:

<style>

? ? body{? ? display: flex;}

? ? .left{? ? background-color: rebeccapurple;? ? height: 200px;? ? flex: 1;}

? ? ?.right{? ? background-color: red;? ? height: 200px;? ? width: 100px;}

? </style>

? <body>? ??

? ? ? <div class="left"></div>? ??

? ? ? <div class="right"></div>

</body>

第二種

<style>? ??

? ? div {? ? ? ? height: 200px;? ? }? ?

? .left {? ? ? ? float: right;? ? ? ? width: 200px;? ? ? ? background-color: rebeccapurple;? ? }? ??

? .right {? ? ? ? margin-right: 200px;? ? ? ? background-color: red;? ? }

</style>

<body>? ??

? ?<div class="left"></div>? ??

? ?<div class="right"></div>

</body>

暫時(shí)想到了兩種。

水平垂直居中

第一種

#container{? ? position:relative;}

#center{? ??

? ? ? width:100px;? ??

? ? ?height:100px;? ??

? ? ?position:absolute;? ?

? ? ?top:50%;? ?

? ? ?left:50%;? ??

? ? ?transform: translate(-50%,-50%);

}

第二種

#container{? ? position:relative;}

#center{? ? width:100px;? ? height:100px;? ? position:absolute;? ? top:50%;? ? left:50%;? ? margin:-50px 0 0 -50px;}

第三種

#container{? ? position:relative;}

#center{? ? position:absolute;? ? margin:auto;? ? top:0;? ? bottom:0;? ? left:0;? ? right:0;}

第四種 flex

#container{? ? display:flex;? ? justify-content:center;? ? align-items: center;}

四種定位的區(qū)別

static 是默認(rèn)值

relative 相對(duì)定位 相對(duì)于自身原有位置進(jìn)行偏移秽荤,仍處于標(biāo)準(zhǔn)文檔流中

absolute 絕對(duì)定位 相對(duì)于最近的已定位的祖先元素, 有已定位(指 - position不是static的元素)祖先元素, 以最近的祖先元素為參考標(biāo)準(zhǔn)甜奄。如果無(wú)已定位祖先元素, 以body元素為偏移參照基準(zhǔn), 完全脫離了標(biāo)準(zhǔn)文檔流柠横。

fixed 固定定位的元素會(huì)相對(duì)于視窗來(lái)定位,這意味著即便頁(yè)面滾動(dòng),它還是會(huì)停留在相同的位置课兄。一個(gè)固定定位元素不會(huì)保留它原本在頁(yè)面應(yīng)有的空隙牍氛。

Flex布局用的多嗎?

因?yàn)轫?xiàng)目考慮兼容 IE9 所以直接說(shuō)用的不多

移動(dòng)端適配怎么做的烟阐?

使用媒體查詢做的響應(yīng)式布局搬俊,根據(jù)不同屏幕寬度加載不同css.

let與var的區(qū)別?

let 為 ES6 新添加申明變量的命令蜒茄,它類似于 var唉擂,但是有以下不同:

var 聲明的變量,其作用域?yàn)樵撜Z(yǔ)句所在的函數(shù)內(nèi)檀葛,且存在變量提升現(xiàn)象

let 聲明的變量玩祟,其作用域?yàn)樵撜Z(yǔ)句所在的代碼塊內(nèi),不存在變量提升

let 不允許重復(fù)聲明.

為什么 var 可以重復(fù)聲明屿聋?(這個(gè)就不知道了)

當(dāng)我們執(zhí)行代碼時(shí)空扎,我們可以簡(jiǎn)單的理解為新變量分配一塊兒內(nèi)存,命名為a胜臊,并賦值為2勺卢,但在運(yùn)行的時(shí)候編譯器與引擎還會(huì)進(jìn)行兩項(xiàng)額外的操作:判斷變量是否已經(jīng)聲明:

首先編譯器對(duì)代碼進(jìn)行分析拆解,從左至右遇見var a象对,則編譯器會(huì)詢問(wèn)作用域是否已經(jīng)存在叫 a 的變量了黑忱,如果不存在,則招呼作用域聲明一個(gè)新的變量a勒魔,若已經(jīng)存在甫煞,則忽略var 繼續(xù)向下編譯,這時(shí)a = 2被編譯成可執(zhí)行的代碼供引擎使用冠绢。

引擎遇見a=2時(shí)同樣會(huì)詢問(wèn)在當(dāng)前的作用域下是否有變量a抚吠,若存在,則將a賦值為2(由于第一步編譯器忽略了重復(fù)聲明的var弟胀,且作用域中已經(jīng)有a楷力,所以重復(fù)聲明會(huì)發(fā)生值得覆蓋而并不會(huì)報(bào)錯(cuò))。若不存在孵户,則順著作用域鏈向上查找萧朝,若最終找到了變量a則將其賦值2,若沒(méi)有找到夏哭,則招呼作用域聲明一個(gè)變量a并賦值為2检柬。

參考鏈接

封裝一個(gè)函數(shù),參數(shù)是定時(shí)器的時(shí)間竖配,.then執(zhí)行回調(diào)函數(shù)何址。

function sleep (time) {? return new Promise((resolve) => setTimeout(resolve, time));}

一個(gè)關(guān)于 this 指向的問(wèn)題

差不多應(yīng)該是這樣里逆,記不太清了

obj = {? ? name: 'a',? ? getName : function () {? ? ? ? console.log(this.name);? ? }}var fn = obj.getName

obj.getName()var fn2 = obj.getName()fn()fn2()

CommonJS 中的 require/exports 和 ES6 中的 import/export 區(qū)別?

CommonJS 模塊的重要特性是加載時(shí)執(zhí)行用爪,即腳本代碼在 require 的時(shí)候原押,就會(huì)全部執(zhí)行。一旦出現(xiàn)某個(gè)模塊被”循環(huán)加載”项钮,就只輸出已經(jīng)執(zhí)行的部分班眯,還未執(zhí)行的部分不會(huì)輸出。

ES6 模塊是動(dòng)態(tài)引用烁巫,如果使用 import 從一個(gè)模塊加載變量,那些變量不會(huì)被緩存宠能,而是成為一個(gè)指向被加載模塊的引用亚隙,需要開發(fā)者自己保證,真正取值的時(shí)候能夠取到值违崇。

import/export 最終都是編譯為 require/exports 來(lái)執(zhí)行的阿弃。

CommonJS 規(guī)范規(guī)定,每個(gè)模塊內(nèi)部羞延,module 變量代表當(dāng)前模塊渣淳。這個(gè)變量是一個(gè)對(duì)象,它的 exports 屬性(即 module.exports )是對(duì)外的接口伴箩。加載某個(gè)模塊入愧,其實(shí)是加載該模塊的 module.exports 屬性。

export 命令規(guī)定的是對(duì)外的接口嗤谚,必須與模塊內(nèi)部的變量建立一一對(duì)應(yīng)關(guān)系棺蛛。

一行代碼實(shí)現(xiàn)數(shù)組去重?

[...new Set([1,2,3,1,'a',1,'a'])]

使用addEventListener點(diǎn)擊li彈出內(nèi)容巩步,并且動(dòng)態(tài)添加li之后有效

<ul>? ? <li>1</li>? ? <li>2</li>? ? <li>3</li>? ? <li>4</li></ul>

這個(gè)題沒(méi)答出來(lái)

var ulNode = document.getElementById("ul");? ? ulNode.addEventListener('click', function (e) {? ? ? ? if (e.target && e.target.nodeName.toUpperCase() == "LI") {? ? ? ? ? ? alert(e.target.innerHTML);? ? ? ? }? ? }, false);

怎么判斷兩個(gè)對(duì)象相等旁赊?

obj={? ? a:1,? ? b:2}obj2={? ? a:1,? ? b:2}obj3={? ? a:1,? ? b:2}

最開始的思路是遍歷來(lái)判斷,但是最后好像沒(méi)有說(shuō)清楚椅野,查了下终畅,好像可以轉(zhuǎn)換為字符串來(lái)判斷。

JSON.stringify(obj)==JSON.stringify(obj2);//trueJSON.stringify(obj)==JSON.stringify(obj3);//false

項(xiàng)目做過(guò)哪些性能優(yōu)化竟闪?

減少 HTTP 請(qǐng)求數(shù)

減少 DNS 查詢

使用 CDN

避免重定向

圖片懶加載

減少 DOM 元素?cái)?shù)量

減少 DOM 操作

使用外部 JavaScript 和 CSS

壓縮 JavaScript 离福、 CSS 、字體瘫怜、圖片等

優(yōu)化 CSS Sprite

使用 iconfont

字體裁剪

多域名分發(fā)劃分內(nèi)容到不同域名

盡量減少 iframe 使用

避免圖片 src 為空

把樣式表放在 中

把腳本放在頁(yè)面底部

歡迎補(bǔ)充术徊。。鲸湃。

模塊化開發(fā)是怎么做的赠涮?

使用命名空間子寓。

有沒(méi)有使用過(guò)webpack?

我說(shuō)Vue項(xiàng)目中使用了笋除,然后就沒(méi)問(wèn)了斜友。

gulp自己寫過(guò)任務(wù)嗎?還是都用的模塊垃它?

不知道怎么怎么回答鲜屏,不都是使用模塊來(lái)寫的么,然后就說(shuō)是使用模塊国拇。

Vue router 除了 router-link 怎么實(shí)現(xiàn)跳轉(zhuǎn)?

router.go(1)router.push('/')

Vue router 跳轉(zhuǎn)和 location.href 有什么區(qū)別洛史?

router 是 hash 改變

location.href 是頁(yè)面跳轉(zhuǎn),刷新頁(yè)面

Vue 雙向綁定實(shí)現(xiàn)原理酱吝?

通過(guò) Object.defineProperty 實(shí)現(xiàn)的

你能實(shí)現(xiàn)一下雙向綁定嗎也殖?

<body>? ? <div id="app">? ? ? ? <input type="text" id="txt">? ? ? ? <p id="show-txt"></p>? ? </div>? ? <script>? ? ? ? var obj = {}? ? ? ? Object.defineProperty(obj, 'txt', {? ? ? ? ? ? get: function () {? ? ? ? ? ? ? ? return obj

? ? ? ? ? ? },? ? ? ? ? ? set: function (newValue) {? ? ? ? ? ? ? ? document.getElementById('txt').value = newValue

? ? ? ? ? ? ? ? document.getElementById('show-txt').innerHTML = newValue

? ? ? ? ? ? }? ? ? ? })? ? ? ? document.addEventListener('keyup', function (e) {? ? ? ? ? ? obj.txt = e.target.value

? ? ? ? })? ? </script></body>

React 和 Vue 有什么區(qū)別?

Set 和 Map 數(shù)據(jù)結(jié)構(gòu)()

ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set 它類似于數(shù)組务热,但是成員的值都是唯一的忆嗜,沒(méi)有重復(fù)的值。

ES6 提供了 Map 數(shù)據(jù)結(jié)構(gòu)崎岂。它類似于對(duì)象捆毫,也是鍵值對(duì)的集合,但是“鍵”的范圍不限于字符串冲甘,各種類型的值(包括對(duì)象)都可以當(dāng)作鍵绩卤。也就是說(shuō),Object 結(jié)構(gòu)提供了“字符串—值”的對(duì)應(yīng)损合,Map 結(jié)構(gòu)提供了“值—值”的對(duì)應(yīng)省艳,是一種更完善的 Hash 結(jié)構(gòu)實(shí)現(xiàn)。

WeakMap 和 Map 的區(qū)別?

WeakMap 結(jié)構(gòu)與 Map 結(jié)構(gòu)基本類似嫁审,唯一的區(qū)別是它只接受對(duì)象作為鍵名( null 除外)跋炕,不接受其他類型的值作為鍵名,而且鍵名所指向的對(duì)象律适,不計(jì)入垃圾回收機(jī)制辐烂。

WeakMap 最大的好處是可以避免內(nèi)存泄漏。一個(gè)僅被 WeakMap 作為 key 而引用的對(duì)象捂贿,會(huì)被垃圾回收器回收掉纠修。

WeakMap 擁有和 Map 類似的 set(key, value) 、get(key)厂僧、has(key)扣草、delete(key) 和 clear() 方法, 沒(méi)有任何與迭代有關(guān)的屬性和方法。

重排和重繪

部分渲染樹(或者整個(gè)渲染樹)需要重新分析并且節(jié)點(diǎn)尺寸需要重新計(jì)算。這被稱為重排辰妙。注意這里至少會(huì)有一次重排-初始化頁(yè)面布局鹰祸。

由于節(jié)點(diǎn)的幾何屬性發(fā)生改變或者由于樣式發(fā)生改變,例如改變?cè)乇尘吧珪r(shí)密浑,屏幕上的部分內(nèi)容需要更新蛙婴。這樣的更新被稱為重繪。

什么情況會(huì)觸發(fā)重排和重繪尔破?

添加街图、刪除、更新 DOM 節(jié)點(diǎn)

display: none 隱藏一個(gè) DOM 節(jié)點(diǎn)-觸發(fā)重排和重繪

通過(guò) visibility: hidden 隱藏一個(gè) DOM 節(jié)點(diǎn)-只觸發(fā)重繪懒构,因?yàn)闆](méi)有幾何變化

移動(dòng)或者給頁(yè)面中的 DOM 節(jié)點(diǎn)添加動(dòng)畫

添加一個(gè)樣式表餐济,調(diào)整樣式屬性

用戶行為,例如調(diào)整窗口大小痴脾,改變字號(hào)颤介,或者滾動(dòng)。

瀏覽器緩存

瀏覽器緩存分為強(qiáng)緩存和協(xié)商緩存赞赖。當(dāng)客戶端請(qǐng)求某個(gè)資源時(shí),獲取緩存的流程如下:

先根據(jù)這個(gè)資源的一些 http header 判斷它是否命中強(qiáng)緩存冤灾,如果命中,則直接從本地獲取緩存資源,不會(huì)發(fā)請(qǐng)求到服務(wù)器欢伏;

當(dāng)強(qiáng)緩存沒(méi)有命中時(shí)讽营,客戶端會(huì)發(fā)送請(qǐng)求到服務(wù)器,服務(wù)器通過(guò)另一些request header驗(yàn)證這個(gè)資源是否命中協(xié)商緩存归粉,稱為http再驗(yàn)證椿疗,如果命中,服務(wù)器將請(qǐng)求返回糠悼,但不返回資源届榄,而是告訴客戶端直接從緩存中獲取,客戶端收到返回后就會(huì)從緩存中獲取資源倔喂;

強(qiáng)緩存和協(xié)商緩存共同之處在于铝条,如果命中緩存,服務(wù)器都不會(huì)返回資源席噩;

區(qū)別是班缰,強(qiáng)緩存不對(duì)發(fā)送請(qǐng)求到服務(wù)器,但協(xié)商緩存會(huì)悼枢。

當(dāng)協(xié)商緩存也沒(méi)命中時(shí)埠忘,服務(wù)器就會(huì)將資源發(fā)送回客戶端。

當(dāng) ctrl+f5 強(qiáng)制刷新網(wǎng)頁(yè)時(shí),直接從服務(wù)器加載莹妒,跳過(guò)強(qiáng)緩存和協(xié)商緩存名船;

當(dāng) f5 刷新網(wǎng)頁(yè)時(shí),跳過(guò)強(qiáng)緩存动羽,但是會(huì)檢查協(xié)商緩存包帚;

強(qiáng)緩存

Expires(該字段是 http1.0 時(shí)的規(guī)范,值為一個(gè)絕對(duì)時(shí)間的 GMT 格式的時(shí)間字符串运吓,代表緩存資源的過(guò)期時(shí)間)

Cache-Control:max-age(該字段是 http1.1 的規(guī)范渴邦,強(qiáng)緩存利用其 max-age 值來(lái)判斷緩存資源的最大生命周期,它的值單位為秒)

協(xié)商緩存

Last-Modified(值為資源最后更新時(shí)間拘哨,隨服務(wù)器response返回)

If-Modified-Since(通過(guò)比較兩個(gè)時(shí)間來(lái)判斷資源在兩次請(qǐng)求期間是否有過(guò)修改谋梭,如果沒(méi)有修改,則命中協(xié)商緩存)

ETag(表示資源內(nèi)容的唯一標(biāo)識(shí)倦青,隨服務(wù)器response返回)

If-None-Match(服務(wù)器通過(guò)比較請(qǐng)求頭部的If-None-Match與當(dāng)前資源的ETag是否一致來(lái)判斷資源是否在兩次請(qǐng)求之間有過(guò)修改瓮床,如果沒(méi)有修改,則命中協(xié)商緩存)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末产镐,一起剝皮案震驚了整個(gè)濱河市隘庄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌癣亚,老刑警劉巖丑掺,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異述雾,居然都是意外死亡街州,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門玻孟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)唆缴,“玉大人,你說(shuō)我怎么就攤上這事黍翎∶婊眨” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵玩敏,是天一觀的道長(zhǎng)斗忌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)旺聚,這世上最難降的妖魔是什么织阳? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮砰粹,結(jié)果婚禮上唧躲,老公的妹妹穿的比我還像新娘造挽。我一直安慰自己,他們只是感情好弄痹,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布饭入。 她就那樣靜靜地躺著,像睡著了一般肛真。 火紅的嫁衣襯著肌膚如雪谐丢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天蚓让,我揣著相機(jī)與錄音乾忱,去河邊找鬼。 笑死历极,一個(gè)胖子當(dāng)著我的面吹牛窄瘟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趟卸,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蹄葱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了锄列?” 一聲冷哼從身側(cè)響起图云,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎邻邮,沒(méi)想到半個(gè)月后琼稻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饶囚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸠补。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萝风。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖紫岩,靈堂內(nèi)的尸體忽然破棺而出规惰,到底是詐尸還是另有隱情,我是刑警寧澤泉蝌,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布歇万,位于F島的核電站,受9級(jí)特大地震影響勋陪,放射性物質(zhì)發(fā)生泄漏贪磺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一诅愚、第九天 我趴在偏房一處隱蔽的房頂上張望寒锚。 院中可真熱鬧,春花似錦、人聲如沸刹前。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)喇喉。三九已至祖今,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拣技,已是汗流浹背千诬。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留过咬,地道東北人大渤。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像掸绞,于是被迫代替她去往敵國(guó)和親泵三。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5衔掸? 答:HTML5是最新的HTML標(biāo)準(zhǔn)烫幕。 注意:講述HT...
    kismetajun閱讀 27,422評(píng)論 1 45
  • 小豬,請(qǐng)?jiān)试S媽媽這樣稱呼你 這是愛(ài)的代名詞 你是我生命中最美的一首歌 你是我28年來(lái)最成功的作品 你讓我的生命更加...
    陳陳and洛洛閱讀 204評(píng)論 0 1
  • 幾年前踏上火車那一刻都還沒(méi)有意識(shí)到冕末,從此故鄉(xiāng)只有冬夏萍歉,再無(wú)春秋。 2016年第一次讀到這句話時(shí)档桃,深有感觸枪孩,于我而言...
    Destiny_XI閱讀 19,637評(píng)論 1 6
  • 數(shù)據(jù)庫(kù)配置 安裝mongoDB,不在贅述藻肄,不明白的goole 創(chuàng)建數(shù)據(jù)庫(kù)日志文件夾:在終端輸入: sudo mkd...
    小白猿閱讀 677評(píng)論 0 1
  • 例如:我們需要新建一個(gè)命令redis蔑舞,在命令行中輸入redis以后能自動(dòng)登錄redis服務(wù)器 1、新建shell命...
    BestFei閱讀 328評(píng)論 1 1