html常见的一些问题

1,web storage 和 coookie 的区别

     1>存储空间:web storage能提供5M的存储空间(不同浏览器大小不同),每个域有独立的存储空间,各个存储空间是完全独立的,因此不会造成数据混乱,cookie仅4KB

     2>存储内容与服务器:设置cookie后,每次请求一个新页面的时候,cookie都会被发送到服务器,这对于本地存储的数据,是一种宽带的浪费,但是cookie也是不可或缺的,cookie的作用是与服务器进行交互,作为http规范的一部分而存在。而web storage中的数据,仅仅是存在本地,不会与服务器发生任何交互。

      3>接口:web storage 提供了一套更为丰富的接口,使得操作更为简便

2,js中,null和undefined的区别

     null表示准备用来保存对象,还没有正真保存对象的值,从逻辑角度看,null表示一个空对象指针。

     undefined表示变量声明但未初始化的值。

3,apply()和call()的区别

     传递的参数不同

     foo.call(this,arg1,arg2,arg3);  //一个一个的参数

     foo.apply(this,[argArray]);  // 参数以数组的形式传递

4,js延迟加载的方法有哪些

    1>延迟加载js代码

       <script type="text/javascript" src="" is="my"></script>

       <script type="text/javascript">setTimeout("document.getElementById('my').src='include/php100.php';",3000);</script>

    2>js最后加入

        方案一:在需要插入js的地方,插入一下代码

                   <span id="sid">LAODING</span>

                  然后在页面底端插入:

                  <span id="AD_sid">你的js代码在这里</span>

                  <script>

                       sid.innerHTML=AD_sid.innerHTML;

                       AD_sid.innerHTML="";

                  </script>

         方案二:这个牵涉到网页的加载顺序问题,例如引入外部js脚本文件时,如果放入html的head中,则页面加载前,该js脚本就会被载入页面,而放入body中,则会按照页面 从上到下的加载顺序来运行js的代码,所以我们能把js外部引入的文件,放到页面底部,让js最后引入,从而加快页面加载速度。

                    <有一点需要注意的是,需要将js分成两部分,需要马上显示出来的js,还是应该放入head中>

5,display:none和visibility:hidden的区别

     display:none 属性会使对象彻底消失(看不见也摸不着)

     display:hidden属性会使对象不可见,该对象在网页所占的空间没有改变(看不见摸得着),等于留了一片空白区域。

6,js事件的三个阶段:捕获,目标,冒泡       //低版本IE不支持捕获阶段

     捕获事件流:Netscape提出的事件流,即事件由页面元素接收,逐级向下,传播到最具体的元素。

     冒泡事件流:由IE提出的事件流,即事件由最具体的元素接收,逐级向上,传播到页面。

     事件的详细描述:http://www.cnblogs.com/hyaaon/p/4630128.html

7,IE和W3C不同绑定事件解绑事件的方法有什么不同,参数分别是什么,以及事件对象e有什么区别

    A:绑定事件:

    W3C:target.addEventListener(event,listener,useCapture);

              event—事件类型;listen—事件触发时执行的函数;useCapture—指定事件是否在捕获或者冒泡阶段执行,为true时事件句柄在捕获阶段执行,为false时(默认false),事件句柄在冒泡阶段执行。

              btn.addEventListener('click',function(){

                    //do something...

               },false)

             对应的事件移除:

            removeEventListener(event,function,capture/bubble);

     IE: target.attachEvent(type,listener);

         type—字符串,事件名称,含‘on’,比如:onclick  onmouseover  onkeydown等。

         listener—实现了EventListener接口或者是JavaScript中的函数。

            btn.attachEvent('onclick',function(){

                  //do something...

             })

        对应时间的移除:

          detachEvent(event,function);

8,关于前端性能优化

     不同角度不同方向也有很多,网络性能优化,加快访问速度,浏览器并行加 载数量,怎样实现原生JS异步载入,CDN加速的原理,如何将不同静态资源发布到多个域名服务器上,发布后这些静态字段的url路径改怎么批量改写,用什 么工具进行项目打包,css打包后的相对路径怎么转换为绝对路径,用什么工具进行项目模块依赖管理,怎么进行cookie优化等等,尽可能的按照自己做过的优化来讲

9,产生一个0-7的随机数:

      

原文地址:https://www.cnblogs.com/147258llj/p/5811897.html