一、正则表达式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);