1、正則表達式
2、布局:static,absolute,relative,sticky
以下代碼,分別給節點 #box 增加如下樣式,問節點 #box 距離 body 的上邊距是多少?
<body style=”margin:0;padding:0”>
<div id=”box” style=”top:10px;margin:20px 10px;”>
</div>
</body>
如果設置 position: static ; 則上邊距為 20px
如果設置 position: relative ; 則上邊距為 30 px
如果設置 position: absolute ; 則上邊距為 30 px
如果設置 position: sticky ; 則滾動起來上邊距為 10 px
position: absolute ; 則上邊距為( 30 ) px 移動的時候會包括margin
position: fixed ; 則上邊距為( 30 ) px 固定定位的margin也會生效 移動的時候也會包括margin
position: sticky ; 則上邊距為( 20 ) px,頁面滾動起來為(10)px,margin會無效;頁面沒滾動的 時候是靜態定位
3、實現動態加載一個 JavaScript 資源
var script = document.createElement("script"); var head = document.getElementsByTagName("head")[0]; script.type = "text / javascript"; script.src = " //i.alicdn.com/resource.js"; // 綁定資源加載成功事件 script.onreadystatechange = function () { // 判斷資源加載狀態是否為加載成功或加載完成 if (/^(loaded|complete)$/.test(script.readyState)) { script.onreadystatechange = null; } }; // 綁定資源加載失敗事件 script.onerror = function () { }; head.insertBefore(script, head.firstChild) </script>
參考:https://www.cnblogs.com/croso/p/5294251.html
4、請問何為混合應用 (Hybrid APP) ,與原生 Native 應用相比它的優劣勢。
Hybrid APP 是 Native APP 上結合使用了 Web View (Native APP 的模塊或稱組件,用來加載Web資源),采用了Web 技術的 APP,本質上屬於原生應用(APP外殼)。
優勢:
- 兼容性良好,“一次開發,多處運行”,能夠減少原生APP開發在多平台帶來的問題
-
代碼移植性高
-
開發者社區活躍,能夠及時應用最新適合的Web技術來解決問題,提高用戶體驗
- APP更加輕便,內容更新方便,部分更新不用從 APP Store 下載
劣勢:
- 性能:相對不如 Native APP 性能良好、體驗流暢
- Web技術在APP中操作權限有限,需要APP同步支持
https://segmentfault.com/a/1190000000490328
在Blink和WebKit的瀏覽器中,一當一個節點被設定了透明度的相關過渡效果或動畫時,瀏覽器會將其作為一個單獨的圖層,但很多開發者使用translateZ(0)
或者translate3d(0,0,0)
去使瀏覽器創建圖層。這種方式可以消除在動畫開始之前的圖層創建時間,使得動畫盡快開始(創建圖層和繪制圖層還是比較慢的),而且不會隨着抗鋸齒而導出突變。不過這種方法需要節制,否則會因為創建過多的圖層導致崩潰
6、
Array對象常用方法中:
不改變原數組:
1、 concat()
- 連接兩個或多個數組
- 不改變原數組
- 返回被連接數組的一個副本
2、join()
- 把數組中所有元素放入一個字符串
- 不改變原數組
- 返回字符串
3、 slice()
- 從已有的數組中返回選定的元素
- 不改變原數組
- 返回一個新數組
4、 toString()
- 把數組轉為字符串
- 不改變原數組
- 返回數組的字符串形
改變原數組:
5、 pop()
- 刪除數組最后一個元素,如果數組為空,則不改變數組,返回undefined
- 改變原數組
-
返回被刪除的元素
6、 push()
- 向數組末尾添加一個或多個元素
- 改變原數組
- 返回新數組的長度
7、 reverse()
- 顛倒數組中元素的順序
- 改變原數組
- 返回該數組
8、 shift()
- 把數組的第一個元素刪除,若空數組,不進行任何操作,返回undefined
- 改變原數組
- 返回第一個元素的值
9、 sort()
- 對數組元素進行排序(ascii)
- 改變原數組
- 返回該數組
10、 splice()
- 從數組中添加/刪除項目
- 改變原數組
- 返回被刪除的元素
11、 unshift()
http://blog.csdn.net/zqjflash/article/details/50179235
5、HTTP 2.0 協議詳解
http://blog.csdn.net/zqjflash/article/details/50179235
6、
請實現方法 parse ,作用如下:
1
2
3
4
5
6
7
8
9
|
var
object = {
b: { c: 4 }, d: [{ e: 5 }, { e: 6 }]
};
console.log( parse(object, ‘b.c’) == 4 )
//true
console.log( parse(object, ‘d[0].e’) == 5 )
//true
console.log( parse(object, ‘d.0.e’) == 5 )
//true
console.log( parse(object, ‘d[1].e’) == 6 )
//true
console.log( parse(object, ‘d.1.e’) == 6 )
//true
console.log( parse(object, ‘f’) == ‘undefined’ )
//true
|
var object = { b: { c: 4 }, d: [{ e: 5 }, { e: 6 }] }; function parse(obj,string){ var arr=string.split("."); arr.forEach(function(item,index){ // console.log(index); // console.log(item); if(!isNaN(item)){ console.log('232'); var temp=arr[index-1]+"["+item+"]"; // console.log(temp); // console.log(arr); arr.splice(index-1,2,temp); // console.log(arr); } }); return eval("obj."+arr.join(".")) || "undefined"; } console.log(parse(object, 'd.1.e') == 6);