摘要:兩種元素必須擁有相同的父元素,但是不必直接緊隨。臨時(shí)移動(dòng)重定向未修改訪問(wèn)緩存數(shù)據(jù)客戶端錯(cuò)誤,請(qǐng)求包含語(yǔ)法錯(cuò)誤或無(wú)法完成請(qǐng)求身份為認(rèn)證服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過(guò)程中發(fā)生了錯(cuò)誤服務(wù)器內(nèi)部錯(cuò)誤持續(xù)更新
對(duì)平常的小知識(shí)點(diǎn),會(huì)持續(xù)更新
== 對(duì)比特殊原則
undefined == null / null == undefined
number 和 string/boolean 對(duì)比將 string/boolean 轉(zhuǎn)換為數(shù)字類型
boolean 和 string 對(duì)比 將字符串轉(zhuǎn)換為數(shù)字
String/Number/Symbol 和object 相比 , toPrimitive(obj) 之后對(duì)比
其他都為 false
eg:
console.log([10] == 10); //true console.log("10" == 10); //true console.log([] == 0); //true console.log(true == 1); //true console.log([] == false); //true console.log(![] == false); // true console.log("" == 0); //將字符串轉(zhuǎn)換為number 對(duì)比 true console.log("" == false); // 字符串和boolean對(duì)比 字符串轉(zhuǎn)換為數(shù)字 true console.log(null == false); // false console.log(!null == true); //true console.log(null == undefined);ToPrimitive
是js將對(duì)象轉(zhuǎn)換為原始類型的一個(gè)算法,是js內(nèi)部的算法
hint 該函數(shù)的參數(shù)值為 string/numer/default
自定義 toPrimitivevar obj2 = { [Symbol.toPrimitive](hint) { if (hint == "number") { return 10; } if (hint == "string") { return "hello"; } return true; } }; console.log(+obj2); // 10 -- hint is "number" console.log(`${obj2}`); // "hello" -- hint is "string" console.log(obj2 + ""); // "true" -- hint is "default"
toPrimitive參考
this 指向問(wèn)題var lang = 1; function fn1() { console.info(this.lang); } var obj = { lang: 2, method1: function(fn) { fn(); fn.call(this); arguments[0](); }, mtehod2:function(fn){ document.addEventListener("click",function(){ fn() },true) } }; obj.method1(fn1) obj.mtehod2(fn1) 輸出結(jié)果是 1 2 undefined 點(diǎn)擊的時(shí)候輸出的是 1變量提升問(wèn)題
var a = 10; function test() { if (!a) { var a = 100; } console.info(a); } test() 輸出結(jié)果 100用css 畫一個(gè)三角形
變量和函數(shù)的提升
console.info(b) var b = 10 function b () { } console.info(b) 輸出結(jié)果 function b(){} , 10 原因 函數(shù)提升要比變量提升的優(yōu)先級(jí)要高一些,且不會(huì)被變量聲明覆蓋,但是會(huì)被變量賦值之后覆蓋。css + ~
p~ul選擇器 p之后出現(xiàn)的所有ul。 兩種元素必須擁有相同的父元素,但是 ul不必直接緊隨 p。 h1 + p {margin-top:50px;} 這個(gè)選擇器讀作:“選擇緊接在 h1 元素后出現(xiàn)的段落,h1 和 p 元素?fù)碛泄餐母冈亍?。}?/pre> script 標(biāo)簽上的 async 和 defer正常的script標(biāo)簽html 會(huì)按照順序加載并執(zhí)行腳本會(huì)阻塞后續(xù)的dom渲染
async 和 defer 的區(qū)別
使用async 和defer 可以解決 阻塞dom渲染的問(wèn)題defer 會(huì)異步的加載js代碼不影響后續(xù)dom 的渲染, 并且會(huì)在 DOMContentLoaded事件調(diào)用前執(zhí)行。如果多個(gè)設(shè)置了defer的script 標(biāo)簽則會(huì)按照順序來(lái)執(zhí)行
async 則不會(huì)按照順序執(zhí)行,而是誰(shuí)先加載完誰(shuí)執(zhí)行,并且跟 DOMContentLoaded事件無(wú)關(guān)
rem 算法1rem == 設(shè)計(jì)圖100px 根元素的 font-size = 100*屏幕寬度/設(shè)計(jì)圖寬度物理像素和邏輯像素DIP 邏輯像素 px 也是邏輯像素的一種 反映的是css 或者js 程序中的像素點(diǎn)
Bom 和 Dom 事件委托和事件冒泡 JSONP 跨域
DPR 設(shè)備像素比: 是設(shè)備的物理像素和邏輯像素之間的比本來(lái)是不想了解的 但是面了兩次都被人問(wèn)了還是了解一下吧原理:依靠的是script 標(biāo)簽可以跨域請(qǐng)求并且會(huì)自動(dòng)執(zhí)行的原理
jsonp 處理分為客戶端和服務(wù)端兩部分
客戶端
在dom中添加一個(gè)script標(biāo)簽,標(biāo)簽的地址是服務(wù)端get的地址,地址中傳遞一個(gè)callback 的名字,和其他的參數(shù)
定義對(duì)應(yīng)的callback方法方法中接受一個(gè)參數(shù) 參數(shù)就是后端返回的數(shù)據(jù)
服務(wù)端
返回一個(gè)字符串,字符串內(nèi)容是調(diào)用callback 方法的js代碼,并且吧返回的數(shù)據(jù)放到callback方法的第一個(gè)函數(shù)中
HTTP 狀態(tài)碼信息,服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作
成功,操作被成功接收并處理
重定向,需要進(jìn)一步的操作以完成請(qǐng)求
301 永久移動(dòng)。
302 臨時(shí)移動(dòng) 重定向
304 未修改 訪問(wèn)緩存數(shù)據(jù)客戶端錯(cuò)誤,請(qǐng)求包含語(yǔ)法錯(cuò)誤或無(wú)法完成請(qǐng)求
401 身份為認(rèn)證服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過(guò)程中發(fā)生了錯(cuò)誤
500 服務(wù)器內(nèi)部錯(cuò)誤(持續(xù)更新)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105268.html
摘要:前端工程師學(xué)習(xí)資料,快速查找面試題,經(jīng)典技術(shù)文章的總結(jié),編程技巧,幫助學(xué)習(xí)者快速定位問(wèn)題花點(diǎn)時(shí)間整理出一下前端工程師日常工作所需要的學(xué)習(xí)資料查找,幫助學(xué)習(xí)者快速掌握前端工程師開發(fā)的基本知識(shí)編程始于足下記住再牛逼的夢(mèng)想也抵不住傻逼似的堅(jiān)持蝴蝶 前端工程師學(xué)習(xí)資料,快速查找面試題,經(jīng)典技術(shù)文章的總結(jié),編程技巧,幫助學(xué)習(xí)者快速定位問(wèn)題花點(diǎn)時(shí)間整理出一下web前端工程師日常工作所需要的學(xué)習(xí)資料...
摘要:構(gòu)造函數(shù)通常首字母大寫,用于區(qū)分普通函數(shù)。這種關(guān)系常被稱為原型鏈,它解釋了為何一個(gè)對(duì)象會(huì)擁有定義在其他對(duì)象中的屬性和方法。中所有的對(duì)象,都有一個(gè)屬性,指向?qū)嵗龑?duì)象的構(gòu)造函數(shù)原型由于是個(gè)非標(biāo)準(zhǔn)屬性,因此只有和兩個(gè)瀏覽器支持,標(biāo)準(zhǔn)方法是。 從這篇文章開始,復(fù)習(xí) MDN 中級(jí)教程 的內(nèi)容了,在初級(jí)教程中,我和大家分享了一些比較簡(jiǎn)單基礎(chǔ)的知識(shí)點(diǎn),并放在我的 【Cute-JavaScript】系...
摘要:開法中的種常見布局及特點(diǎn)的生命周期,如何啟動(dòng)和停止一個(gè)非靜態(tài)類和匿名內(nèi)部類的定義和區(qū)別的定位和避免內(nèi)存溢出的定位和避免單例模式和觀察者模式的優(yōu)化和的功能中的文字渲染查找一個(gè)數(shù)組中出現(xiàn)次數(shù)最多的元素和數(shù)值最大的元素逆序一個(gè)字符串,要考慮時(shí)間復(fù) 1、Android開法中的5種常見布局及特點(diǎn) 2、Sevice的生命周期,如何啟動(dòng)和停止一個(gè)Sevice 3、(非)靜態(tài)類和匿名內(nèi)部類的定義和區(qū)別...
閱讀 1466·2021-09-02 13:57
閱讀 1882·2019-08-30 15:55
閱讀 2419·2019-08-30 15:54
閱讀 2259·2019-08-30 15:44
閱讀 2741·2019-08-30 13:18
閱讀 491·2019-08-30 13:02
閱讀 660·2019-08-29 18:46
閱讀 1673·2019-08-29 11:25