360前端面试题 2015年 07

1 js数据类型,alert(0||1),

var a; alert(a||1);

2 闭包,作用域链

3 实现继承

4 ajax实现,跨浏览器

5 DOM重绘与重排

6 有没有性能优化的经验

7 js安全方面

8 Array(10000),怎么遍历

9 了解什么前端框架,有没有通读过源码

10 IE事件流和DOM事件流不同,为什么这么设计?

11 浅拷贝 ECMAScript5中新增的Object.create(obj)可以实现浅拷贝

浅拷贝实现:数组可以用arr.slice(0)或者arr.concat(0)

转载 深拷贝的实现 http://segmentfault.com/a/1190000000501320

自己写的函数:

function deepCopy(obj) {
    var o = {}
    if(obj instanceof Array) {
        o = [];
    }
    for(prop in obj) {
        obj.hasOwnProperty(prop) && o[prop] = (typeof obj[prop] == 'object'?deepCopy(obj[prop]):obj[prop]);
    }
    return o;
}
原文地址:https://www.cnblogs.com/mengxiang-1234/p/4683590.html