流行框架
1、JQuery的源码看过吗?能不能简单概况一下它的实现原理?
考察学习知识的态度,是否仅仅是停留在使用层面,要知其然知其所以然
2、jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?
this执行init构造函数自身,其实就是jQuery实例对象,返回this是为了实现jQuery的链式操作
3、 jquery中如何将数组转化为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,是什么过滤器——格式化数字为货币格式,单位是$符。
评论
填写昵称与邮箱即可评论,无需登录。