一些面试题

CSS中position几个值的运用

absolute:生成绝对定位,相对于第一个position的值不为static的父元素定位。
relative:生成相对定位,相对于其正常位置进行定位。
fixed:生成绝对定位,相对于浏览器窗口进行定位。
static:默认值。没有定位,忽略(top,right,left,bottom,z-index声明)
inherit:从父元素中继承

什么是原型链

每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时,
如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype,
于是就这样一直找下去,也就是我们平时所说的原型链的概念。
关系:instance.constructor.prototype = instance.__proto__

特点:
JavaScript对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型副本。当我们修改原型时,与之相关的对象也会继承这一改变。


 当我们需要一个属性的时,Javascript引擎会先看当前对象中是否有这个属性, 如果没有的话,
 就会查找他的Prototype对象是否有这个属性,如此递推下去,一直检索到 Object 内建对象。
    function Func(){}
    Func.prototype.name = "Sean";
    Func.prototype.getInfo = function() {
      return this.name;
    }
    var person = new Func();//现在可以参考var person = Object.create(oldObject);
    console.log(person.getInfo());//它拥有了Func的属性和方法
    //"Sean"
    console.log(Func.prototype);
    // Func { name="Sean", getInfo=function()}

雪碧图

原生JS与jQuery中load事件的区别

CSS3 border-radius

CSS3 阴影Shadow

Array常用的方法

push()方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。
pop()方法用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组。
slice()方法用于提取原数组的一部分,返回一个新数组,原数组不变。
它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员。