1. 程式人生 > 實用技巧 >每日思考(2020/07/12)

每日思考(2020/07/12)

題目概覽

  • 移動web頁面如何自動探測電話號碼?
  • 什麼是浮動和它的工作原理是什麼?浮動會引起什麼問題?
  • js中======三個的區別是什麼?並說明它們各自的工作過程

題目解答

移動web頁面如何自動探測電話號碼?

<meta name="format-detection" content="telephone=yes">

什麼是浮動和它的工作原理是什麼?浮動會引起什麼問題?

  • 什麼是浮動:在做佈局的時候用到的一種技術,通過浮動可以讓元素左右浮動,然後通過margin調整位置
  • 工作原理:使元素脫離文件流,讓元素可以左右浮動,直到遇到另一個浮動元素的邊緣才停止
  • 帶來的問題:浮動元素會造成父級元素無法自動獲取高度,導致父級塌陷,佈局錯亂

js中======三個的區別是什麼?並說明它們各自的工作過程

  • =是賦值運算子
    • 它遵循右結合律
    • 它返回 lhs (但在宣告語句(var, let, const)中返回 undefined
    • 若 rhs 是 primitive value (number, string, symbol, undefined, boolean) 則 lhs 被賦值為該值
    • 若 rhs 是 object 則 lhs 被賦值為指向該 object 的 reference
    • const 宣告的不變數不能被再次賦值,否則會 throw ReferenceError
    • 如果在區域性作用域不使用宣告語句就給一個既未聲明於區域性作用域,也未聲明於任何上層作用域的變數賦值,那它將會被建立為一個全域性變數。不應該如此使用。
  • ==是帶有 implicit type conversion 的判等運算子
    • 它遵循左結合律
    • 它返回 boolean
  • ===是嚴格的判等運算子
    • 它遵循左結合律
    • 它返回 boolean
    • 若兩側是 primitive value 則判斷兩側值是否相等
    • 若兩側是 object 則判斷兩側 reference 是否指向同一塊記憶體