一、正則表達式javascript
二、佈局:static,absolute,relative,stickyhtml
如下代碼,分別給節點 #box 增長以下樣式,問節點 #box 距離 body 的上邊距是多少?前端
<body style=」margin:0;padding:0」>java
<div id=」box」 style=」top:10px;margin:20px 10px;」>正則表達式
</div>segmentfault
</body>數組
若是設置 position: static ; 則上邊距爲 20px瀏覽器
若是設置 position: relative ; 則上邊距爲 30 px性能優化
若是設置 position: absolute ; 則上邊距爲 30 px前端性能
若是設置 position: sticky ; 則滾動起來上邊距爲 10 px
三、實現動態加載一個 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
四、請問何爲混合應用 (Hybrid APP) ,與原生 Native 應用相比它的優劣勢。
Hybrid APP 是 Native APP 上結合使用了 Web View (Native APP 的模塊或稱組件,用來加載Web資源),採用了Web 技術的 APP,本質上屬於原生應用(APP外殼)。
優點:
代碼移植性高
開發者社區活躍,可以及時應用最新適合的Web技術來解決問題,提升用戶體驗
劣勢:
https://segmentfault.com/a/1190000000490328
在Blink和WebKit的瀏覽器中,一當一個節點被設定了透明度的相關過渡效果或動畫時,瀏覽器會將其做爲一個單獨的圖層,但不少開發者使用translateZ(0)
或者translate3d(0,0,0)
去使瀏覽器建立圖層。這種方式能夠消除在動畫開始以前的圖層建立時間,使得動畫儘快開始(建立圖層和繪製圖層仍是比較慢的),並且不會隨着抗鋸齒而導出突變。不過這種方法須要節制,不然會由於建立過多的圖層致使崩潰
六、
Array對象經常使用方法中:
一、 concat()
二、join()
三、 slice()
四、 toString()
五、 pop()
返回被刪除的元素
六、 push()
七、 reverse()
八、 shift()
九、 sort()
十、 splice()
十一、 unshift()
六、
請實現方法 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);