成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js css 基礎(chǔ)知識(shí)點(diǎn)和面試題復(fù)習(xí)

yeooo / 1716人閱讀

摘要:兩種元素必須擁有相同的父元素,但是不必直接緊隨。臨時(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

自定義 toPrimitive
var 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 可以解決 阻塞dom渲染的問(wèn)題

async 和 defer 的區(qū)別

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)
DPR 設(shè)備像素比: 是設(shè)備的物理像素和邏輯像素之間的比

Bom 和 Dom 事件委托和事件冒泡 JSONP 跨域
本來(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

相關(guān)文章

  • 前端必須要珍藏的技術(shù)文章和面試題

    摘要:前端工程師學(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í)資料...

    MoAir 評(píng)論0 收藏0
  • 【重溫基礎(chǔ)】15.JS對(duì)象介紹

    摘要:構(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】系...

    booster 評(píng)論0 收藏0
  • 最近面試遇見的一些筆試和面試題

    摘要:開法中的種常見布局及特點(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ū)別...

    he_xd 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<