JS原生面试题

  1. 节点操作

    添加节点:appendChild insertBefore
    删除节点:removeChild
    获取节点:getElementById getElementsByTagName getElementsByClassName querySelector querySelectorAll
    克隆节点:cloneNode
    创建节点: innerHTML createElement document.write()

  2. 原型,原型链

    原型对象:系统会给我们定义的每一个构造函数都会默认绑定一个 protoType属性,这个属性指向的就是原型对象,通过原型对象可以实现原生JS的继承
    原型链:是对象属性和方法的查找规则,会在当前对象中查找属性或者方法,如果当对象没有,就会查询当前对象的原型对象,如果原型对象没有就会往上查找原型对象的原型对象,依次类推,直到找到最上层Object的原型对象,如果还没有的话,属性就会返回undefined 如果是方法就会报错

  3. 事件阶段

    事件捕获,目标阶段,事件冒泡

  4. 事件委托

    原理利用事件冒泡,本来应该给子元素注册的事件,给父元素来注册

  5. 如何阻止事件冒泡,如何阻止默认行为

    event.stopPropagation()
    event.preventDefault()或者 return false

  6. 定时器

    setInterval() setTimeout()

  7. 内置对象常用方法

    Math.random()
    Math.abs()
    Math.floor()
    Math.ceil()
    Math.round()
    String.prototype.substr()
    String.prototype.split()
    String.prototype.replace()

  8. window中的宿主对象

    dom,history,location,screen,navigator

你可能感兴趣的:(面试宝典)