zoukankan      html  css  js  c++  java
  • 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的随机数:

          

  • 相关阅读:
    每日英语:China's Wistful Wen Gets His Wish
    每日英语:Singles Day in China
    每日英语:A Chinese Soccer Club Has Won Something!
    每日英语:Are Smartphones Turning Us Into Bad Samaritans?
    每日英语:The Benefits of a Sleep Buddy
    每日英语:Pediatricians Set Limits on Screen Time
    每日英语:The Risks of Big Data for Companies
    每日英语:Patent Wars Erupt Again in Tech Sector
    每日英语:Got a Case of the Mondays? Blame the Sunday Blues
    从构建分布式秒杀系统聊聊Lock锁使用中的坑
  • 原文地址:https://www.cnblogs.com/147258llj/p/5811897.html
Copyright © 2011-2022 走看看