摘要:原型是由構(gòu)造器函數(shù)創(chuàng)建的。從原型繼承的方法與屬性是在構(gòu)造器函數(shù)中定義的??梢詫⒋藢傩宰鳛闃?gòu)造器使用獲得某個(gè)對(duì)象實(shí)例的構(gòu)造器的名字,可以這么用該屬性的值是那個(gè)函數(shù)本身,而不是一個(gè)包含函數(shù)名稱的字符串。
前端面試題總結(jié) 寫(xiě)在前面的話:
寫(xiě)文目的:總結(jié)前端面試過(guò)程中沒(méi)回答上來(lái)的點(diǎn),深化印象,也方便日后溫習(xí)。
寫(xiě)文方法:寫(xiě)之前先自己看相關(guān)知識(shí),理解好后過(guò)段時(shí)間根據(jù)記憶來(lái)寫(xiě),最后對(duì)比糾正。
準(zhǔn)備面試流程:1.更新簡(jiǎn)歷,多參考其他的優(yōu)秀簡(jiǎn)歷
2.復(fù)習(xí)面試題
筆者就是因?yàn)橹桓铝撕?jiǎn)歷沒(méi)有復(fù)習(xí)導(dǎo)致基礎(chǔ)不過(guò)關(guān),錯(cuò)過(guò)兩家心儀的公司。
順便說(shuō)下,平時(shí)工作中的確很多時(shí)候用不到也不會(huì)去背某些面試中的問(wèn)題,不過(guò)面試題中基礎(chǔ)部分很重要,理解好基礎(chǔ)才更輕松掌握新框架新知識(shí)。時(shí)不時(shí)去看看面試題也不失為一種鞏固基礎(chǔ)的方法。一般一面面基礎(chǔ),二面面項(xiàng)目,項(xiàng)目經(jīng)驗(yàn)再多,一面過(guò)不了,什么戲也不會(huì)有。
被面過(guò)的面試題: csscss優(yōu)先級(jí),屬性選擇器的優(yōu)先級(jí)在哪
0.類型選擇器(如, h1)和偽元素(如, ::before)
1.類選擇器,屬性選擇器,偽類(如,:hover)
3.ID選擇器
通用選擇器(universal selector)(*), 組合子(combinators) (+, >, ~, " ") 和 否定偽類(negation pseudo-class)(:not()) 對(duì)特異性沒(méi)有影響。(但是,在 :not() 內(nèi)部聲明的選擇器是會(huì)影響優(yōu)先級(jí),在計(jì)算選擇器數(shù)量時(shí)還是會(huì)把其中的選擇器當(dāng)做普通選擇器進(jìn)行計(jì)數(shù))。
4.給元素添加的內(nèi)聯(lián)樣式總會(huì)覆蓋外部樣式表的任何樣式 ,因此可看作是具有最高的優(yōu)先級(jí)。
權(quán)重記憶口訣。一個(gè)元素名,或者偽元素+1,一個(gè)屬性選擇器/class或者偽類+10,一個(gè)id+100,一個(gè)行內(nèi)樣式+1000。
**!important 規(guī)則例外
當(dāng)在一個(gè)樣式聲明中使用一個(gè)!important 規(guī)則時(shí),此聲明將覆蓋任何其他聲明。**
直接定位的樣式權(quán)重大于繼承的樣式,無(wú)論繼承的規(guī)則的特異性(優(yōu)先級(jí))如何。
Styles for a directly targeted element will always take precedence over inherited styles, regardless of the specificity of the inherited rule.
h1 { color: purple; } #parent { color: green; }
當(dāng)它應(yīng)用在下面的HTML時(shí):
Here is a title!
瀏覽器會(huì)將h1渲染成紫色。
因?yàn)閔1選擇器清晰地定位了元素。
~ 組合器
A + B 匹配任意元素,滿足條件:B是A的下一個(gè)兄弟節(jié)點(diǎn)(AB有相同的父結(jié)點(diǎn),并且B緊跟在A的后面)
A ~ B 滿足條件:B是A之后的兄弟節(jié)點(diǎn)中的任意一個(gè)(AB有相同的父節(jié)點(diǎn),B在A之后,但不一定是緊挨著A)(會(huì)盡可能多匹配)
js基礎(chǔ)什么是閉包
閉包是由函數(shù)與創(chuàng)建該函數(shù)的環(huán)境所組成的
優(yōu)點(diǎn):減少全局變量污染
缺點(diǎn):影響腳本性能
3==true 打印出什么
會(huì)打印出false,這里會(huì)將true轉(zhuǎn)變成1
Number 和 String 或者 Bool 類型比較,會(huì)對(duì)String 或者 Bool 類型進(jìn)行ToNumber()轉(zhuǎn)換
Number(true) // 1 Number(false) // 0 1==true //true 1===true //false 3==true //false
變量聲明提升
變量聲明無(wú)論出現(xiàn)在代碼的任何位置,都會(huì)在代碼執(zhí)行前處理。所以在代碼的任何位置聲明變量就好像在代碼開(kāi)頭聲明一樣。
var a = 100; function fn() { alert(a); var a = 200; alert(a); } fn(); alert(a); var a; alert(a); //這里alert出100 var a = 300; alert(a);
not defined 與 undefined
console.log(a) //報(bào)錯(cuò) Uncaught ReferenceError: a is not defined var b; console.log(b) //undefined
判斷變量是不是數(shù)組的幾個(gè)方法
var a=[]; a.constructor===Array //true a instanceof Array === true //true
?? 注意:以上方法在跨frame時(shí)會(huì)有問(wèn)題,跨frame實(shí)例化的對(duì)象不共享原型
var iframe = document.createElement("iframe"); //創(chuàng)建iframe document.body.appendChild(iframe); //添加到body中 xArray = window.frames[window.frames.length-1].Array; var arr = new xArray(1,2,3); // 聲明數(shù)組[1,2,3] alert(arr instanceof Array); // false alert(arr.constructor === Array); // false
解決:
Object.prototype.toString.call(a) // "[object Array]" Array.isArray(a) //true
bind,call,apply用法與區(qū)別
用法:都是改變函數(shù)內(nèi)this指向
bind:返回一個(gè)新的函數(shù),調(diào)用新的函數(shù)才執(zhí)行,新函數(shù)里this永久地被綁定到了bind的第一個(gè)參數(shù)上
而call與apply能直接執(zhí)行
fuc.call(thisObj,a,b,c) fuc.apply(thisObj,[a,b,c]) // apply 傳數(shù)組
原型 與 prototype屬性
原型:
JavaScript的對(duì)象中都包含了一個(gè)" [[Prototype]]"內(nèi)部屬性,這個(gè)屬性所對(duì)應(yīng)的就是該對(duì)象的原型。對(duì)象從原型繼承方法與屬性。原型可能也有原型,這種關(guān)系被稱為原型鏈。
"[[Prototype]]"作為對(duì)象的內(nèi)部屬性,是不能被直接訪問(wèn)的。所以為了方便查看一個(gè)對(duì)象的原型,大多數(shù)現(xiàn)代瀏覽器還是提供了一個(gè)名為"__proto__"這個(gè)非標(biāo)準(zhǔn)(不是所有瀏覽器都支持)的訪問(wèn)器(ECMA引入了標(biāo)準(zhǔn)對(duì)象原型訪問(wèn)"Object.getPrototype(object)")。
原型是由構(gòu)造器函數(shù)創(chuàng)建的。從原型繼承的方法與屬性是在構(gòu)造器函數(shù)中定義的。
prototype屬性:
prototype屬性并不指向當(dāng)前對(duì)象的原型對(duì)象(原型對(duì)象是一個(gè)內(nèi)部對(duì)象,應(yīng)當(dāng)使用 __proto__ 訪問(wèn))。prototype屬性是繼承成員被定義的地方。
常見(jiàn)的對(duì)象定義模式是,在構(gòu)造器(函數(shù)體)中定義屬性、在 prototype 屬性上定義方法。(在prototype屬性中定義屬性會(huì)不夠靈活)
發(fā)現(xiàn)的比較奇異的點(diǎn):一個(gè)變量不是函數(shù)的話默認(rèn)沒(méi)有 prototype屬性,是函數(shù)的話默認(rèn)就有 prototype屬性,并且prototype對(duì)象中的constructor屬性就是它本身
var a = {}; console.log(a.__proto__) //{constructor: ?, __defineGetter__: ?, __defineSetter__: ?, hasOwnProperty: ?, __lookupGetter__: ?,?…} console.log(a.__proto__ === Object.prototype) //true console.log(a.constructor) //? Object() { [native code] } console.log(a.constructor === Object) //true //******不是函數(shù)的話默認(rèn)沒(méi)有 prototype屬性 console.log(a.prototype) //undefined console.log("b:") var b = function c() { }; console.log(b.__proto__) //? () { [native code] } console.log(b.__proto__ === Function.prototype) //true console.log(b.constructor) //? Function() { [native code] } console.log(b.constructor === Function) //true //******函數(shù)默認(rèn)就有 prototype屬性,并且prototype對(duì)象中的constructor屬性就是它本身 console.log(b.prototype) //{constructor: ?} console.log(b.prototype.constructor) //? c() { } console.log(b.prototype.constructor===b) //true
constructor
每個(gè)對(duì)象實(shí)例都具有 constructor 屬性,它指向創(chuàng)建該實(shí)例的構(gòu)造器函數(shù)。
可以將此屬性作為構(gòu)造器使用:
var person3 = new person1.constructor("Karen", "Stephenson", 26, "female", ["playing drums", "mountain climbing"]);
獲得某個(gè)對(duì)象實(shí)例的構(gòu)造器的名字,可以這么用:
person1.constructor.name
該屬性的值是那個(gè)函數(shù)本身,而不是一個(gè)包含函數(shù)名稱的字符串。對(duì)于原始值(js中有5種:null undefined number boolean string),該屬性為只讀。
var a = 1; console.log(a.prototype) //undefined console.log(a.constructor) //? Number() { [native code] } var b = []; console.log(b.prototype) //undefined console.log(b.constructor) //? Array() { [native code] } //改變 a b 的constructor為 {} a.constructor = {} b.constructor = {} console.log(a.constructor) //沒(méi)有變,還是 ? Number() { [native code] } console.log(b.constructor) //{}
new
class
函數(shù)堆棧
ECMAScript中變量的兩種類型
原始值:
引用值:
js三大組成部分
1.ECMAScript
2.dom
3.bom
除了 GET POST,還有哪些方法
keep-alive
http返回碼100 200 300 400分別代表什么,即響應(yīng)的5種類型
100:信息響應(yīng)
200:成功
300:重定向
400:客戶端錯(cuò)誤
500:服務(wù)端錯(cuò)誤
理解重定向
http無(wú)狀態(tài)含義
解釋三次握手,四次揮手
三次握手
1.客戶端發(fā)syn包給服務(wù)端,等待服務(wù)器確認(rèn)(syn:同步序列編號(hào)(Synchronize Sequence Numbers))
2.服務(wù)端發(fā)syn+ack包給客戶端
3.客戶端發(fā)確認(rèn)包ack給服務(wù)端
四次揮手
中斷連接端可以是Client端,也可以是Server端。
1.關(guān)閉主動(dòng)方發(fā)送fin包
2.被動(dòng)方發(fā)送ack包
3.被動(dòng)方關(guān)閉連接,發(fā)送fin包
4.主動(dòng)方發(fā)送ack包確認(rèn)
數(shù)據(jù)結(jié)構(gòu)與算法鏈表和數(shù)組的區(qū)別
js代碼實(shí)現(xiàn)了解過(guò)哪些排序算法
自己實(shí)現(xiàn)個(gè)jQuery,可以傳選擇器進(jìn)去,然后實(shí)現(xiàn)css()與height()方法
demo
var myJquery4 = function (selector) { //console.log(this) //window return new jqNodes(selector) //new會(huì)創(chuàng)造一個(gè)對(duì)象實(shí)例,對(duì)象實(shí)例繼承自構(gòu)造函數(shù)的prototype,這里是jqNodes.prototype } var jqNodes = function (selector) { console.log(this) //1.以new調(diào)用時(shí)this指向即將創(chuàng)建的新對(duì)象 //2.直接調(diào)用則指向 window this._items = document.querySelectorAll(selector) return this } var myJqueryCore = { //放核心方法 css: function () { console.log(this) //myJquery4("li").css("color") 這樣調(diào)用時(shí)是作為new出來(lái)的對(duì)象原型里的方法調(diào)用的,this指向new出來(lái)的對(duì)象 var prop = arguments[0], val = arguments[1] if (!val) return getComputedStyle(this._items[0]).getPropertyValue(prop); Array.prototype.map.call(this._items, function (c) { return c.setAttribute("style", prop + ":" + val) }) return this } } jqNodes.prototype = myJqueryCore //關(guān)鍵
寫(xiě)個(gè)輪播圖
之前感覺(jué)比較困擾的是從最后一頁(yè)到第一頁(yè)如何無(wú)縫滑動(dòng)。無(wú)縫滑動(dòng)的關(guān)鍵在于在第一頁(yè)前放上最后一頁(yè),在最后一頁(yè)后面再放上第一頁(yè)。在最后一頁(yè)點(diǎn)擊后一頁(yè)時(shí),先滑動(dòng)到放置在后邊的第一頁(yè),滑動(dòng)完成后立刻改變父元素的left值到排列在第二個(gè)的第一頁(yè)。
demo
html結(jié)構(gòu):
5123451
關(guān)鍵js:
$("#list").animate({ left: newLeft }, function () { if (newLeft < -3000) { list.style.left = -600 + "px"; } else if (newLeft > -600) { list.style.left = -3000 + "px"; } })
菜單高亮滾動(dòng)監(jiān)聽(tīng)
主要參考了 http://blog.csdn.net/sinrryzh...
我修改成了可以有多個(gè)固定導(dǎo)航的
demo
網(wǎng)上看的面試題&自己發(fā)現(xiàn)的面試知識(shí)點(diǎn)欄目1內(nèi)容
欄目2內(nèi)容
欄目3內(nèi)容
欄目4內(nèi)容
欄目5內(nèi)容
欄目6內(nèi)容
欄目7內(nèi)容
欄目2-1內(nèi)容
欄目2-2內(nèi)容
欄目2-3內(nèi)容
欄目2-4內(nèi)容
欄目2-5內(nèi)容
欄目2-6內(nèi)容
欄目2-7內(nèi)容
注:自己發(fā)現(xiàn)的面試知識(shí)點(diǎn)一般是在工作學(xué)習(xí)中發(fā)現(xiàn)的基礎(chǔ)重要但之前被自己忽略的知識(shí)點(diǎn)。
js基礎(chǔ)全等號(hào)優(yōu)先級(jí)大于邏輯與
var a=1===2&&3?4:5
逗號(hào)操作符
逗號(hào)操作符 對(duì)它的每個(gè)操作數(shù)求值(從左到右),并返回最后一個(gè)操作數(shù)的值。
var x=(0,1) //x=1
比較對(duì)象
兩個(gè)獨(dú)立聲明的對(duì)象永遠(yuǎn)也不會(huì)相等,即使他們有相同的屬性,只有在比較一個(gè)對(duì)象和這個(gè)對(duì)象的引用時(shí),才會(huì)返回true.
encodeURI encodeURIComponent
encodeURI
encodeURI 會(huì)替換所有的字符,但不包括以下字符,即使它們具有適當(dāng)?shù)腢TF-8轉(zhuǎn)義序列:
類型 包含 保留字符 ; , / ? : @ & = + $ 非轉(zhuǎn)義的字符 字母 數(shù)字 - _ . ! ~ * " ( ) 數(shù)字符號(hào) #
encodeURI自身無(wú)法產(chǎn)生能適用于HTTP GET 或 POST 請(qǐng)求的URI,例如對(duì)于 XMLHTTPRequests, 因?yàn)?"&", "+", 和 "=" 不會(huì)被編碼,然而在 GET 和 POST 請(qǐng)求中它們是特殊字符。然而encodeURIComponent這個(gè)方法會(huì)對(duì)這些字符編碼。
encodeURIComponent
轉(zhuǎn)義除了字母、數(shù)字、(、)、.、!、~、*、"、-和_之外的所有字符。
dangerouslysethtml會(huì)過(guò)濾掉__html屬性里的 ,是因?yàn)橛昧薳ncodeURI函數(shù)來(lái)避免xss攻擊
encodeURI("http:////") -->”////“ encodeURI("") --> Uncaught SyntaxError: Invalid or unexpected token encodeURIComponent("http:////") -->"%2F%2F%2F%2F" encodeURIComponent("/") --> "%2F" encodeURIComponent("") --> Uncaught SyntaxError: Invalid or unexpected tokenhttp協(xié)議
xss
cross-site scripting,跨站腳本,屬于代碼注入的一種。它允許惡意用戶將代碼注入到網(wǎng)頁(yè)上,其他用戶在觀看網(wǎng)頁(yè)時(shí)就會(huì)受到影響。這類攻擊通常包含了html以及用戶端腳本語(yǔ)言。
攻擊實(shí)例:用戶A提交表單事加入類似以下代碼,如果提交表單時(shí)沒(méi)有做檢測(cè),而之后的結(jié)果頁(yè)面是其他用戶也能看到的,那么其他頁(yè)面看到的結(jié)果頁(yè)就會(huì)受到影響。
解決辦法:不信賴用戶輸入,對(duì)特殊字符如”<”,”>”轉(zhuǎn)義。
uri url urn
uri:統(tǒng)一資源標(biāo)識(shí)符
url:統(tǒng)一資源定位符
urn:統(tǒng)一資源名稱
url與urn是uri的子集。
讓uri能成為url的是那個(gè)“訪問(wèn)機(jī)制”,“網(wǎng)絡(luò)位置”。e.g. http:// or ftp://.。
urn是唯一標(biāo)識(shí)的一部分,就是一個(gè)特殊的名字。
etag是什么
ETag(entity tag)唯一地表示一份資源的實(shí)體標(biāo)簽。
標(biāo)簽是由 ASCII 字符組成的字符串,用雙引號(hào)括起來(lái)(如 "675af34563dc-tr34")。前面可以加上 W/ 前綴表示應(yīng)該采用弱比較算法。
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4" ETag: W/"0815"
ETag由Web服務(wù)器根據(jù)URL上的資源的特定版本而指定。如果那個(gè)URL上的資源內(nèi)容改變,一個(gè)新的不一樣的ETag就會(huì)被分配。ETag的比較只對(duì)同一個(gè)URL有意義——不同URL上的資源的ETag值可能相同也可能不同,從他們的ETag的比較中無(wú)從推斷。
用法:
1.檢測(cè)"空中碰撞"(資源同步更新而相互覆蓋):
在ETag和 If-Match 頭部的幫助下,可以檢測(cè)到"空中碰撞"的編輯沖突。
2.緩存未更改的資源
如果用戶再次訪問(wèn)給定的URL(設(shè)有ETag字段),顯示資源過(guò)期了且不可用,客戶端就發(fā)送值為ETag的If-None-Match header字段:
If-None-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"
服務(wù)器將客戶端的ETag(作為If-None-Match字段的值一起發(fā)送)與其當(dāng)前版本的資源的ETag進(jìn)行比較,如果兩個(gè)值匹配(即資源未更改),服務(wù)器將返回不帶任何內(nèi)容的304未修改狀態(tài),告訴客戶端緩存版本可用(新鮮)。
If-Match 頭部
請(qǐng)求首部 If-Match 的使用表示這是一個(gè)條件請(qǐng)求。在請(qǐng)求方法為 GET 和 HEAD 的情況下,服務(wù)器僅在請(qǐng)求的資源滿足此首部列出的 ETag 之一時(shí)才會(huì)返回資源。而對(duì)于 PUT 或其他非安全方法來(lái)說(shuō),只有在滿足條件的情況下才可以將資源上傳。
應(yīng)用:
GET 和 HEAD 方法,搭配 Range首部使用,可以用來(lái)保證新請(qǐng)求的范圍與之前請(qǐng)求的范圍是對(duì)同一份資源的請(qǐng)求。如果 ETag 無(wú)法匹配,那么需要返回 416 (Range Not Satisfiable,范圍請(qǐng)求無(wú)法滿足) 響應(yīng)。
2.對(duì)于其他方法來(lái)說(shuō),尤其是 PUT, If-Match 首部可以用來(lái)檢測(cè)用戶想要上傳的不會(huì)覆蓋獲取原始資源之后做出的更新。如果請(qǐng)求的條件不滿足,那么需要返回 412 (Precondition Failed,先決條件失敗) 響應(yīng)。
語(yǔ)法:
If-Match:, , …
樂(lè)觀并發(fā)控制
ASCII字符串
ASCII (發(fā)音: /??ski/ ,American Standard Code for Information Interchange,美國(guó)信息交換標(biāo)準(zhǔn)碼) 是計(jì)算機(jī)中最常用的編碼方式,用于將字母,數(shù)字,標(biāo)點(diǎn)符號(hào)和控制字符轉(zhuǎn)換為計(jì)算機(jī)可以理解的數(shù)字形式。
ASCII的局限在于只能顯示26個(gè)基本拉丁字母、阿拉伯?dāng)?shù)目字和英式標(biāo)點(diǎn)符號(hào),因此只能用于顯示現(xiàn)代美國(guó)英語(yǔ)(而且在處理英語(yǔ)當(dāng)中的外來(lái)詞如na?ve、café、élite等等時(shí),所有重音符號(hào)都不得不去掉,即使這樣做會(huì)違反拼寫(xiě)規(guī)則)。而ASCII雖然解決了部分西歐語(yǔ)言的顯示問(wèn)題,但對(duì)更多其他語(yǔ)言依然無(wú)能為力。因此現(xiàn)在的軟件系統(tǒng)大多采用Unicode。
ASCII主要用于顯示現(xiàn)代英語(yǔ)和其他西歐語(yǔ)言。從2007年開(kāi)始逐漸被UTF-8 代替。
Unicode
Unicode(中文:萬(wàn)國(guó)碼、國(guó)際碼、統(tǒng)一碼、單一碼)是計(jì)算機(jī)科學(xué)領(lǐng)域里的一項(xiàng)業(yè)界標(biāo)準(zhǔn)。它對(duì)世界上大部分的文字系統(tǒng)進(jìn)行了整理、編碼,使得電腦可以用更為簡(jiǎn)單的方式來(lái)呈現(xiàn)和處理文字。
UTF-8
UTF-8(8-bit Unicode Transformation Format)是一種針對(duì)Unicode的可變長(zhǎng)度字符編碼,也是一種前綴碼。它可以用來(lái)表示Unicode標(biāo)準(zhǔn)中的任何字符,且其編碼中的第一個(gè)字節(jié)仍與ASCII兼容,這使得原來(lái)處理ASCII字符的軟件無(wú)須或只須做少部分修改,即可繼續(xù)使用。因此,它逐漸成為電子郵件、網(wǎng)頁(yè)及其他存儲(chǔ)或發(fā)送文字的應(yīng)用中,優(yōu)先采用的編碼。
Range首部
Range 是一個(gè)請(qǐng)求首部,告知服務(wù)器返回文件的哪一部分。在一個(gè) Range 首部中,可以一次性請(qǐng)求多個(gè)部分,服務(wù)器會(huì)以 multipart 文件的形式將其返回。如果服務(wù)器返回的是范圍響應(yīng),需要使用 206 Partial Content 狀態(tài)碼。假如所請(qǐng)求的范圍不合法,那么服務(wù)器會(huì)返回 416 Range Not Satisfiable 狀態(tài)碼,表示客戶端錯(cuò)誤。服務(wù)器允許忽略 Range 首部,從而返回整個(gè)文件,狀態(tài)碼用 200 。
語(yǔ)法:
Range:= - Range: = - Range: = - , -
Range: bytes=200-1000, 2000-6576, 19000-
一級(jí)域名,二級(jí)域名
以www.baidu.com為例子
最右邊一個(gè)點(diǎn)右邊的為頂級(jí)域名(一級(jí)域名)com
一級(jí)域名左邊是二級(jí)域名 baidu
主域,子域
子域名域名系統(tǒng)等級(jí)中,屬于更高一層域的域。比如,mail.example.com
和calendar.example.com是example.com的兩個(gè)子域,而example.com
則是頂級(jí)域.com的子域
為什么換工作
不要說(shuō)是因?yàn)殄X(qián)少。上一家的薪資不要做假,因?yàn)楣究赡軙?huì)查。期望薪資可以要高點(diǎn),說(shuō)明。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/91811.html
摘要:整理收藏一些優(yōu)秀的文章及大佬博客留著慢慢學(xué)習(xí)原文協(xié)作規(guī)范中文技術(shù)文檔協(xié)作規(guī)范阮一峰編程風(fēng)格凹凸實(shí)驗(yàn)室前端代碼規(guī)范風(fēng)格指南這一次,徹底弄懂執(zhí)行機(jī)制一次弄懂徹底解決此類面試問(wèn)題瀏覽器與的事件循環(huán)有何區(qū)別筆試題事件循環(huán)機(jī)制異步編程理解的異步 better-learning 整理收藏一些優(yōu)秀的文章及大佬博客留著慢慢學(xué)習(xí) 原文:https://www.ahwgs.cn/youxiuwenzhan...
摘要:前端面試題總結(jié)持續(xù)更新中為什么只需要寫(xiě)需要來(lái)規(guī)范瀏覽器的行為讓瀏覽器按照它們應(yīng)該的方式來(lái)運(yùn)行基于所以需要對(duì)進(jìn)行引用,才能告知瀏覽器文檔所使用的文檔類型。 前端面試題總結(jié)——H5(持續(xù)更新中) 1.HTML5 為什么只需要寫(xiě) ? HTML5 需要doctype來(lái)規(guī)范瀏覽器的行為,讓瀏覽器按照它們應(yīng)該的方式來(lái)運(yùn)行; HTML4.01基于SGML,所以需要對(duì)DTD進(jìn)行引用,才能告知瀏覽器文檔...
摘要:在此基礎(chǔ)上加入了回調(diào)函數(shù),加載完之后會(huì)執(zhí)行中定義的函數(shù),所需要的數(shù)據(jù)會(huì)以參數(shù)的形式傳遞給該函數(shù)。通常的做法是,為它們指定回調(diào)函數(shù)。 前端面試題總結(jié)——JS(持續(xù)更新中) 1.javascript的typeof返回哪些數(shù)據(jù)類型 Object number function boolean underfind string 2.例舉3種強(qiáng)制類型轉(zhuǎn)換和2種隱式類型轉(zhuǎn)換? 強(qiáng)制(parseIn...
摘要:前言一直混跡社區(qū)突然發(fā)現(xiàn)自己收藏了不少好文但是管理起來(lái)有點(diǎn)混亂所以將前端主流技術(shù)做了一個(gè)書(shū)簽整理不求最多最全但求最實(shí)用。 前言 一直混跡社區(qū),突然發(fā)現(xiàn)自己收藏了不少好文但是管理起來(lái)有點(diǎn)混亂; 所以將前端主流技術(shù)做了一個(gè)書(shū)簽整理,不求最多最全,但求最實(shí)用。 書(shū)簽源碼 書(shū)簽導(dǎo)入瀏覽器效果截圖showImg(https://segmentfault.com/img/bVbg41b?w=107...
摘要:等知名網(wǎng)站已經(jīng)開(kāi)始測(cè)試并使用格式。頁(yè)面加載速度更快結(jié)構(gòu)化清晰頁(yè)面顯示簡(jiǎn)潔。表現(xiàn)與結(jié)構(gòu)相分離。易于優(yōu)化搜索引擎更友好,排名更容易靠前。用于替換當(dāng)前元素,用于在當(dāng)前文檔和引用資源之間確立聯(lián)系。 前端面試題總結(jié)——HTML(持續(xù)更新中) 1.什么是HTML? HTML:HyperText Markup Language超文本標(biāo)記語(yǔ)言 2.XHTML和HTML有什么區(qū)別 HTML是一種基本的W...
閱讀 2311·2021-11-16 11:51
閱讀 3514·2021-09-26 10:14
閱讀 1851·2021-09-22 15:58
閱讀 1107·2019-08-30 15:52
閱讀 2022·2019-08-30 15:43
閱讀 2623·2019-08-30 13:46
閱讀 916·2019-08-30 13:10
閱讀 1028·2019-08-29 18:32