国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js css 基礎知識點和面試題復習

yeooo / 1708人閱讀

摘要:兩種元素必須擁有相同的父元素,但是不必直接緊隨。臨時移動重定向未修改訪問緩存數據客戶端錯誤,請求包含語法錯誤或無法完成請求身份為認證服務器錯誤,服務器在處理請求的過程中發生了錯誤服務器內部錯誤持續更新

對平常的小知識點,會持續更新

== 對比

特殊原則

undefined == null / null == undefined

number 和 string/boolean 對比將 string/boolean 轉換為數字類型

boolean 和 string 對比 將字符串轉換為數字

String/Number/Symbol 和object 相比 , toPrimitive(obj) 之后對比

其他都為 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);         //將字符串轉換為number  對比  true         
console.log("" == false);    // 字符串和boolean對比 字符串轉換為數字      true
console.log(null == false);   // false         
console.log(!null == true);        //true    
console.log(null == undefined);
ToPrimitive

是js將對象轉換為原始類型的一個算法,是js內部的算法

hint 該函數的參數值為 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 指向問題
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)

輸出結果是 1 2 undefined 
點擊的時候輸出的是 1
變量提升問題
var a = 10;
function test() {
  if (!a) {
    var a = 100;
  }
  console.info(a);
}

test()

輸出結果 100
用css 畫一個三角形
變量和函數的提升
console.info(b)
var b = 10
function b () {
}
console.info(b)


輸出結果  function b(){}  , 10
原因 函數提升要比變量提升的優先級要高一些,且不會被變量聲明覆蓋,但是會被變量賦值之后覆蓋。
css + ~
p~ul選擇器 p之后出現的所有ul。
兩種元素必須擁有相同的父元素,但是 ul不必直接緊隨 p。
h1 + p {margin-top:50px;}
這個選擇器讀作:“選擇緊接在 h1 元素后出現的段落,h1 和 p 元素擁有共同的父元素”。};
script 標簽上的 async 和 defer

正常的script標簽html 會按照順序加載并執行腳本會阻塞后續的dom渲染
使用async 和defer 可以解決 阻塞dom渲染的問題

async 和 defer 的區別

defer 會異步的加載js代碼不影響后續dom 的渲染, 并且會在 DOMContentLoaded事件調用前執行。如果多個設置了defer的script 標簽則會按照順序來執行

async 則不會按照順序執行,而是誰先加載完誰執行,并且跟 DOMContentLoaded事件無關

rem 算法
1rem == 設計圖100px
根元素的 font-size = 100*屏幕寬度/設計圖寬度
物理像素和邏輯像素

DIP 邏輯像素 px 也是邏輯像素的一種 反映的是css 或者js 程序中的像素點
DPR 設備像素比: 是設備的物理像素和邏輯像素之間的比

Bom 和 Dom 事件委托和事件冒泡 JSONP 跨域
本來是不想了解的 但是面了兩次都被人問了還是了解一下吧

原理:依靠的是script 標簽可以跨域請求并且會自動執行的原理

jsonp 處理分為客戶端和服務端兩部分

客戶端

在dom中添加一個script標簽,標簽的地址是服務端get的地址,地址中傳遞一個callback 的名字,和其他的參數

定義對應的callback方法方法中接受一個參數 參數就是后端返回的數據

服務端

返回一個字符串,字符串內容是調用callback 方法的js代碼,并且吧返回的數據放到callback方法的第一個函數中

HTTP 狀態碼

信息,服務器收到請求,需要請求者繼續執行操作

成功,操作被成功接收并處理

重定向,需要進一步的操作以完成請求
301 永久移動。
302 臨時移動 重定向
304 未修改 訪問緩存數據

客戶端錯誤,請求包含語法錯誤或無法完成請求
401 身份為認證

服務器錯誤,服務器在處理請求的過程中發生了錯誤
500 服務器內部錯誤

(持續更新)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105268.html

相關文章

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

    摘要:前端工程師學習資料,快速查找面試題,經典技術文章的總結,編程技巧,幫助學習者快速定位問題花點時間整理出一下前端工程師日常工作所需要的學習資料查找,幫助學習者快速掌握前端工程師開發的基本知識編程始于足下記住再牛逼的夢想也抵不住傻逼似的堅持蝴蝶 前端工程師學習資料,快速查找面試題,經典技術文章的總結,編程技巧,幫助學習者快速定位問題花點時間整理出一下web前端工程師日常工作所需要的學習資料...

    MoAir 評論0 收藏0
  • 【重溫基礎】15.JS對象介紹

    摘要:構造函數通常首字母大寫,用于區分普通函數。這種關系常被稱為原型鏈,它解釋了為何一個對象會擁有定義在其他對象中的屬性和方法。中所有的對象,都有一個屬性,指向實例對象的構造函數原型由于是個非標準屬性,因此只有和兩個瀏覽器支持,標準方法是。 從這篇文章開始,復習 MDN 中級教程 的內容了,在初級教程中,我和大家分享了一些比較簡單基礎的知識點,并放在我的 【Cute-JavaScript】系...

    booster 評論0 收藏0
  • 最近面試遇見的一些筆試和面試題

    摘要:開法中的種常見布局及特點的生命周期,如何啟動和停止一個非靜態類和匿名內部類的定義和區別的定位和避免內存溢出的定位和避免單例模式和觀察者模式的優化和的功能中的文字渲染查找一個數組中出現次數最多的元素和數值最大的元素逆序一個字符串,要考慮時間復 1、Android開法中的5種常見布局及特點 2、Sevice的生命周期,如何啟動和停止一個Sevice 3、(非)靜態類和匿名內部類的定義和區別...

    he_xd 評論0 收藏0

發表評論

0條評論

yeooo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<