欢迎光临
我们一直在努力

5lx是什么前端常识

1、如何区分native与h5页面?
a.下拉刷新的时候:
如果界面没有明显刷新现象的是原生的,如果有明显刷新现象(比如闪一下)的是H5页面(ios和android);
下拉页面的时候显示网址提供方的一定是H5。
b.看app顶部 导航栏是否会有关闭的操作:
如果APP顶部导航栏当中出现了关闭按钮或者有关闭的图标,那么当前的页面肯定的H5,原生的不会出现(除非设计开发者故意弄的)

2、css和Js阻塞的情况?
a.css放头部,js放底部。css是并行下载的,js会阻塞;
b.js放头部也不阻塞的话,添加async属性,IE支持defer
c.外部样式不会阻塞外部脚本的加载,但会阻塞外部脚本的执行。
c.css也会出现阻塞的情况:当CSS后面跟着嵌入的JS的时候,该CSS就会出现阻塞后面资源下载的情况。而当把嵌入JS放到CSS前面,就不会出现阻塞的情况了。根本原因:因为浏览器会维持htmlcssjs的顺序,样式表必须在嵌入的JS执行前先加载、解析完。而嵌入的JS会阻塞后面的资源加载,所以就会出现上面CSS阻塞下载的情况。

3、bootstrap断点设置:320,480,768,992,1200,http://caibaojian.com/bootstrap-media.html

4、SVG 与 HTML5 的 canvas 各有什么优点?
Canvas基于像素,是使用JavaScript程序绘图(动态生成),SVG为矢量,是使用XML文档描述来绘图。提供一系列图形元素(Rect, Path, Circle, Line …),还有完整的动画,事件机制,本身就能独立使用,也可以嵌入到HTML中,IE9+
从这点来看:SVG更适合用来做动态交互,Canvas提供的功能更原始,适合像素处理,动态渲染和大数据量绘制。而且SVG绘图很容易编辑,SVG功能更完善,适合静态图片展示,高保真文档查看和打印的应用场景。同时SVG是基于矢量的,所有它能够很好的处理图形大小的改变。Canvas是基于位图的图像,它不能够改变大小,只能缩放显示;

5、用H5+CSS3解决下导航栏最后一项掉下来的问题

6、html5新特性?
绘画 canvas 元素
用于媒介回放的 video 和 audio 元素
本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;
sessionStorage 的数据在浏览器关闭后自动删除
语意化更好的内容元素,比如 article、footer、header、nav、section
表单控件,calendar、date、time、email、url、search
CSS3实现圆角,阴影,对文字加特效,增加了更多的CSS选择器  多背景 rgba
新的技术webworker, websockt, Geolocation

7、csshack
CSS Hack大致有3种表现形式,CSS属性前缀法、选择器前缀法以及IE条件注释法(即HTML头部引用if IE)Hack,实际项目中CSS Hack大部分是针对IE浏览器不同版本之间的表现差异而引入的。

  • “-″减号是IE6专有的hack,*为IE7
  • “9″ IE6/IE7/IE8/IE9/IE10都生效
  • “0″ IE8/IE9/IE10都生效,是IE8/9/10的hack
  • “90″ 只对IE9/IE10生效,是IE9/10的hack

8、语义化的理解?
用正确的标签做正确的事情!
html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;
在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。
搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。
阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

9、如何实现浏览器内多个标签页之间的通信?
调用 localstorge、cookies 等本地存储方式

10、谈谈你对模块化开发的理解?http://blog.csdn.net/lxcao/article/details/52774825
所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能。模块化开发的基础就是函数,通过函数实现一定的功能,但是为了避免函数之前变量的相互影响,使用闭包。AMD/CMD

11、谈谈对this的理解? http://blog.csdn.net/lxcao/article/details/52750575
this的指向:this表示当前对象,this的指向是根据调用的上下文来决定的,默认指向window对象,指向window对象时可以省略不写,调用的上下文环境包括全局局部
全局:
全局环境就是在<script></script>里面,这里的this始终指向的是window对象;
局部:a.在全局作用域下直接调用函数,this指向window .  b.对象函数调用,哪个对象调用就指向哪个对象 .  c.使用 new 实例化对象,在构造函数中的this指向实例化对象。d.使用call或apply改变this的指向。

12、javascript有几种类型的值?http://blog.csdn.net/lxcao/article/details/52749421
两大类:
栈:原始数据类型(Undefined,Null,Boolean,Number、String)
堆:引用数据类型(对象、数组和函数)

13、什么是闭包?
通俗的讲,闭包是就是函数中的函数,里面的函数可以访问外面函数的变量,外面的变量的是这个内部函数的一部分。在模块化中,会使用到闭包,可以避免变量的全局污染,不能滥用,否则会导致内存泄露,影响网页的性能 

18、requestAnimationFrame
浏览器可以优化并行的动画动作,更合理的重新排列动作序列,并把能够合并的动作放在一个渲染周期内完成,从而呈现出更流畅的动画效果
如:通过requestAnimationFrame(),JS动画能够和CSS动画/变换或SVG SMIL动画同步发生。另外,如果在一个浏览器标签页里运行一个动画,当这个标签页不可见时,浏览器会暂停它,这会减少CPU,内存的压力,节省电池电量。

(function() {
    var lastTime = 0;
    var vendors = ['webkit', 'moz'];
    for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
        window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
        window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] ||    // name has changed in Webkit
                                      window[vendors[x] + 'CancelRequestAnimationFrame'];
    }

    if (!window.requestAnimationFrame) , timeToCall);
            lastTime = currTime + timeToCall;
            return id;
        };
    }
    if (!window.cancelAnimationFrame) {
        window.cancelAnimationFrame = function(id) {
            clearTimeout(id);
        };
    }
}());

demo向上滚动:

function funscroll()
        $("#info-position").css("top",scroll+"px");
       requestAnimationFrame(funscroll); 
    }

  

19、手机原生Js事件:http://blog.csdn.net/she_rryn/article/details/52366500
touchstart:手指放在屏幕上触发
touchmove:手机在屏幕上移动的时候触发
touchend:手机离开屏幕的时候触发
 

 20.移动端动画卡顿优化:http://tgideas.qq.com/webplat/info/news_version3/804/808/811/m579/201412/293834.shtml

开启translateZ或 translate3d,用3D变形来开启GPU加速

如动画过程有闪烁(通常发生在动画开始的时候),可以尝试下面的Hack:

 -webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;

-webkit-perspective: 1000;
-moz-perspective: 1000;
-ms-perspective: 1000;
perspective: 1000;   transform 属性不会触发浏览器的 repaint,而 left 和 top 则会一直触发 repaint,著作权归作者所有。
http://www.w3cplus.com/css3/introduction-to-hardware-acceleration-css-animations.html

赞(0)
未经允许不得转载:上海聚慕医疗器械有限公司 » 5lx是什么前端常识

登录

找回密码

注册