JavaScript常见问题总结

1 如何创建、删除、查找节点

   createElement()

   createTextNode()

   appendChild()

    removeChild()

    replaceChild()

    insertBefore()

    getElementById()

    getElementByTagName()

2  JavaScript 用typeof 来判断数据类型,只能区别基本类型,‘number’,'string', 'boolean', 'undefined', 'object'。对于数组,函数,对象来说,其关系复杂, 若使用typeof 会统一返回object , 这样为后续处理带来不便。原生js有一个函数Object.prototype.toString.call()函数会给出数据的具体类型,会比typeof精确

3  想实现一个页面对某个节点的拖拽,使用什么方法?

   ondragenter  当被鼠标拖动的对象进入其容器范围内时触发此事件

   ondragover    当被鼠标拖动的对象在另一个容器范围内拖动时触发此事件

   ondragleave   当被鼠标拖动时离开容器范围时触发此事件

   ondragdrop    在一个鼠标移动事件当中,当离开鼠标键时触发此事件

4  什么叫伪数组,如何把维数组转化为真实数组?

    伪数组: 无法直接调用数组方法或者期望length属性有什么特殊的行为,但仍可以用遍历真实数组的方法来遍历他们

    典型的是函数的argument函数,还有像调用getelementByTagName, document.chidNodes 之类的,他们返回的Nodelist都是伪数组

     1 遍历数组转存到真实数组    2 [].slice.call     3 Array.prototype.slice.call  

5  数组的方法

     pop  shift   unshift   slice splice   concat   join   indexOf   charAt   split 

6  闭包

     当一个函数的返回值是另外一个函数,如何返回的那个函数调用了其父函数的变量 ,如何返回的这个函数在外部被执行,就产生了闭包。

     使用闭包注意的点: 

             滥用闭包,会使内存泄漏

             会改变父函数内部变量的值  

7  写出三种减少页面加载时间的方法     

    1  压缩css、js文件   2 合并css、js文件,减少http请求  3 外部css、js文件放在最底下  4 减少dom操作,尽量减少不必要的dom操作

8 浏览器是如何渲染页面的

   1  解析html文件,建立dom树

   2  解析css

   3  将css和dom树合并

   4  布局和重绘

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值