前端流行框架

  1. JQuery 的源码看过吗?能不能简单概况一下它的实现原理?
    考察学习知识的态度,是否仅仅是停留在使用层面,要知其然知其所以然
  2. jQuery.fn 的init 方法返回的this 指的是什么对象?为什么要返回this?
    this 执行init 构造函数自身,其实就是jQuery 实例对象,返回this 是为了实现jQuery
    的链式操作
  3. query 中如何将数组转化为json 字符串,然后再转化回来?
    $.parseJSON('{"name":"John"}');
  4. jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
    递归赋值
  5. jquery.extend 与jquery.fn.extend 的区别?
    Jquery.extend 用来扩展jQuery 对象本身;jquery.fn.extend 用来扩展jQuery 实例
  6. 谈一下Jquery 中的bind(),live(),delegate(),on()的区别?
  7. JQuery 一个对象可以同时绑定多个事件,这是如何实现的?
    可以同时绑定多个事件,低层实现原理是使用addEventListner 与attachEvent 兼容处
    理做事件注册
  8. Jquery 与jQuery UI 有啥区别?
    jQuery 是操作dom 的框架,jQueryUI 是基于jQuery 做的一个UI 组件库
  9. jQuery 和Zepto 的区别?各自的使用场景?
    jQuery 主要用于pc 端,当然有对应的jQuerymobile 用于移动端,zepto 比jQuery 更
    加小巧,主要用于移动端
  10. 针对jQuery 的优化方法?
    优先使用ID 选择器
    在class 前使用tag(标签名)
    给选择器一个上下文
    慎用.live()方法(应该说尽量不要使用)
    使用data()方法存储临时变量
  11. Zepto 的点透问题如何解决?
    点透主要是由于两个div 重合,例如:一个div 调用show(),一个div 调用hide();
    这个时候当点击上面的div 的时候就会影响到下面的那个div;
    解决办法主要有2 种:
    1.github 上有一个叫做fastclick 的库,它也能规避移动设备上click 事件的延迟响
    应,https://github.com/ftlabs/fastclick
    将它用script 标签引入页面(该库支持AMD,于是你也可以按照AMD 规范,用诸如
    require.js 的模块加载器引入),并且在dom ready 时初始化在body 上,
    2.根据分析,如果不引入其它类库,也不想自己按照上述fastclcik 的思路再开发一套
    东西,需要1.一个优先于下面的“divClickUnder”捕获的事件;2.并且通过这个事件
    阻止掉默认行为(下面的“divClickUnder”对click 事件的捕获,在ios 的safari,
    click 的捕获被认为和滚屏、点击输入框弹起键盘等一样,是一种浏览器默认行为,即
    可以被event.preventDefault()阻止的行为)。
  12. 知道各种JS 框架(Angular, Backbone, Ember, React, Meteor, Knockout...)
    么? 能讲出他们各自的优点和缺点么?
    知识面的宽度,流行框架要多多熟悉
  13. Underscore 对哪些JS 原生对象进行了扩展以及提供了哪些好用的函数方
    法?
    Underscore 的熟悉程度
  14. 使用过angular 吗?angular 中的过滤器是干什么用的
    在表达式中转换数据

    姓名为{{ lastName | uppercase }}


    currency,是什么过滤器——格式化数字为货币格式,单位是$符。
  15. 移动端最小触控区域是多大?
    移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(click 有
    300ms 延迟,为了实现safari 的双击事件的设计,浏览器要知道你是不是要双击操作。)

你可能感兴趣的:(前端流行框架)