1. px和em的區別?
px和em都是長度單位;
區別是:
px的值是固定的,指定是多少就是多少,
計算比較容易。
em得值不是固定的,而且em會繼承父級元素的字體大小。
瀏覽器的默認字體高都是16px;
因此未經調整的瀏覽器都符合: 1em=16px;
那麼12px=0.75em, 10px=0.625em
2. CSS 去掉inline-block元素間隙的幾種方法?
間隙是怎麼來的:
間隙是由換行或者回車致使的;
只要把標籤寫成一行或者
標籤直接沒有空格,就不會出現間隙;
怎麼去除?
方法1:
元素間的間隙出現的緣由
是元素標籤之間的空格,
把空格去掉間隙天然就會消失。
<div class="itlike"> <span>撩課itlike</span>
<span>撩課itlike</span>
</div>
方法2: 利用HTML註釋標籤
<div class="demo"> <span>撩課itlike</span><!-- -->
<span>撩課itlike</span></div>
方法3: 取消標籤閉合
<div class="demo"> <span>撩課itlike
<span>撩課itlike
<span>撩課itlike
<span>撩課itlike
</div>
方法4: 在父容器上使用font-size:0;能夠消除間隙
<div class="demo"> <span>撩課itlike</span> <span>撩課itlike</span> <span>撩課itlike</span> <span>撩課itlike</span>
</div>
.demo {font-size: 0;}
3. 在Javascript中什麼是僞數組?如何將僞數組轉化爲標準數組?
僞數組(類數組):
沒法直接調用數組方法,
length屬性有什麼特殊的行爲, 但仍能夠對真正數組遍歷方法來遍歷它們。 典型的是函數的argument參數,
還有像調getElementsByTagName,
document.childNodes之類的, 它們都返回NodeList對象,
這些都屬於僞數組。 能夠使用
Array.prototype.slice.call(fArray)
將數組轉化爲真正的Array對象。
4. 數組快速排序?
思路:
a) 在數據集之中,選擇一個元素做爲"基準"(pivot)。 b) 全部小於"基準"的元素,都移到"基準"的左邊; 全部大於"基準"的元素,都移到"基準"的右邊。 c) 對"基準"左邊和右邊的兩個子集, 不斷重複第一步和第二步, 直到全部子集只剩下一個元素爲止。
var quickSort = function(arr) { if (arr.length <= 1) { return arr; } var pivotIndex = Math.floor(arr.length / 2); var pivot = arr.splice(pivotIndex, 1)[0]; var left = []; var right = []; for (var i = 0; i < arr.length; i++){ if (arr[i] < pivot) { left.push(arr[i]); } else { right.push(arr[i]); } } return quickSort(left).concat([pivot],
quickSort(right)); };
5. 開發中有哪些常見的Web攻擊技術?
a) XSS(Cross-Site Scripting,跨站腳本攻擊):
指經過存在安全漏洞的Web網站註冊用戶的瀏覽器
內運行非法的HTML標籤或者JavaScript進行的一種攻擊。
b)SQL注入
c) CSRF(Cross-Site Request Forgeries,跨站點請求僞造):
指攻擊者經過設置好的陷阱,強制對已完成的認證用戶進行
非預期的我的信息或設定信息等某些狀態更新。