张蕾的技术博客

面试阿里、网易、滴滴前端碰到的问题3

2017-06-12  本文已影响299人  cd72c1240b33

继续阿里网易面试题1和2
面试阿里、网易、滴滴前端碰到的问题1: http://www.jianshu.com/p/e593fbb36ab1
面试阿里、网易、滴滴前端碰到的问题2: http://www.jianshu.com/p/eecb6737edc9

js部分

实现拖拽功能

动画:setTimeout何时执行,requestAnimationFrame的优点

手写parseInt的实现:要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()

//这是我封装的函数,仅供参考
function aa(n) {
        //因为下面用正则对字符串进行处理,所以,我们必须保证n是字符串
        n=n.toString();
        var reg=/^(\d+)(\.\d+)?(.*)?$/g;
        n=n.replace(reg,($1,$2)=>{
            console.log(typeof $2)
            return $2;
        });
        return +n;
    }

编写分页器组件的时候,为了减少服务端查询次数,点击“下一页”怎样能确

保还有数据可以加载(请求数据不会为空)?
无论前端做分页还是后台做分页,我们都能拿到数据总量,根据数据总量和当前页显示的条数,求出分页总数count,所以,点击下一页,主要看页码是否超出总数count,如果超出,则不能再有点击事件,因为数据已经为空;

ES6新增了哪些特性,使用过哪些,也有当场看代码说输出结果的

参考以前写过的答案http://www.jianshu.com/p/536f24c6df19

JS模块化的实践

我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块;

var utils=(function(){
    return {
        mod1:()=>{.....},
        mod2:()=>{.....}
    }
})();
上一篇下一篇

猜你喜欢

热点阅读