前端面试题-----js部分

1、DOM操作-------怎样添加、移除、移动、复制、创建和查找节点?

     创建新节点:createDocumentFrament()    // 创建一个DOM片段

                      createElement()                  // 创建一个具体的元素

                      createTextNode()                // 创建一个文本节点

     添加节点:appendChild()

     移除节点:removeChild()

     替换节点:replaceChild()

     插入节点:insertBefore()  // 在已有的子节点前插入新节点 

     查找节点:getElementByTagName()   // 通过标签名称查找

                   getElementByClassName()  // 通过类名查找

                   getElementById()              // 通过id查找 

2、如何实现浏览器内多个标签页之间的通信?

      调用localStorage、cookies等本地存储方式。

3、如何对网站的文件和资源进行优化?

      文件合并

      文件最小化、文件压缩

      使用CDN托管

      使用缓存

      其他。。。。

4、减少页面加载时间的方法?

      优化图片

      优化CSS(压缩合并)

      网址后加斜杠

      标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。  当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。)

       减少http请求(合并文件,合并图片)

 5、null和undefined的区别?

      null是一个表示“无”的对象,转为数值时为0;undefined是一个表示“无”的原始值,转为数值时为NaN;

      当声明的变量还未被初始化时,变量的默认值为undefined,null用来表示尚未存在的对象,常用来表示函数企图表示一个不存在的对象;

      undefined表示“缺少值”,就是此处应该有一个值,但是还没有定义。典型的用法如下:

       1)变量被声明了,但没有赋值时,等于undefined;

       2)调用函数时,应该提供的参数没有提供,该参数等于undefined;

       3)对象没有赋值的属性,该属性的值为undefined;

       4)函数没有返回值时,默认返回undefined。

        null表示“没有对象”,即该处不应该有值。典型用法如下:

        1)作为函数的参数,表示该函数的参数不是对象;

        2)作为对象原型链的终点。

6、document.write和innerHTML的区别?

        前者只能重绘整个页面

        后者可以重绘页面的一部分。

7、call()和apply()的区别和作用?

     作用:动态改变某个类的某个方法的运行环境。

     区别:

posted @ 2017-02-22 18:00  勿忘初心147  阅读(152)  评论(0)    收藏  举报