HTML5学习小记八

关于一些小知识点的总结

  1. GET 和 POST 的区别?
    1、 get是从服务器获取数据 -----"取"; post是向服务器提交数据 -----“发”
    2、 form表单默认的method为"GET"
    3、 get将数据按照variable = value 的形式,加上URL的后面,中间用"?"连接,各个变量之间用"&"连接; post将数据不像get方式那样
    4、 参数上面3的数据传输方式,可以得出:post安全性比get方式要高
    5、
    URL不存在参数上限的问题,HTTP协议没有对URL长度进行限制,限制的是部分浏览器和服务器的限制。
    IE对URL长度的限制为2083KB
    get方式是通过URL传输的数据的,数据量一般在2KB左右,但是执行效率比post高
    理论上post方式没有大小限制,HTTP协议规范也没进行大小限制。post数据没有限制,限制的是服务器处理程序的能力
    2.socket和http的区别:
    socket是网络传输层的一种技术,跟http有本质的区别,http是应用层的一个网络协议。使用socket技术理论上来讲,按照http的规范,完全可以使用socket来达到发送http请求的目的,只要发送的数据包按照http协议来即可

Socket和http的区别:
Socket是长连接,http是短连接
Socket是双向通信,http是单向的,只能客户端向服务器发送数据
Socket的数据完全由自己组织,http必须按照http协议来发送
3.display有哪些值?说明他们的作用。position的值relative和absolute定位原点是?absolute与fixed共同点与不同点?

1、display
block 象块类型元素一样显示。
none 缺省值。象行内元素类型一样显示。
inline-block 象行内元素一样显示,但其内容象块类型元素一样显示。
list-item 象块类型元素一样显示,并添加样式列表标记。

2、position
absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
fixed (老IE不支持) 生成绝对定位的元素,相对于浏览器窗口进行定位。
relative 生成相对定位的元素,相对于其正常位置进行定位。
static 默认值。没有定位,元素出现在正常的流中
inherit 规定从父元素继承 position 属性的值。
*(忽略 top, bottom, left, right z-index 声明)

absolute与fixed共同点与不同点
A、共同点:
1.改变行内元素的呈现方式,display被置为block;
2.让元素脱离普通流,不占据空间;
3.默认会覆盖到非定位元素上;
B、不同点:
absolute的”根元素“是可以设置的,而fixed的”根元素“固定为浏览器窗口。
当你滚动网页,fixed元素与浏览器窗口之间的距离是不变的。

display:none和visibility:hidden的区别?
display:none 隐藏对应的元素,在文档布局中不再给它分配空间,它各边的元素会合拢,就当他从来不存在。
visibility:hidden 隐藏对应的元素,但是在文档布局中仍保留原来的空间。
3.事件委托---- 优点消耗内存大,处理速度快

document.onclick,这个示例把事件委托放到了document上,即点击document就直接触发我们相应的事件。
    document.onclick = function(event){             
        var event = event || window.event;         //IE doesn't pass in the event object  
        var target = event.target || event.srcElement; //IE uses srcElement as the target 
        switch(target.id){         
            case "help-btn":                 
                openHelp();                 
            break; 

            case "save-btn":                 
                saveDocument();                
            break;   

            case "undo-btn":                 
                undoChanges();                
            break;         
            //如果有其元素需要处理点击事件, 只需要在这里添加不同的case分支就行。     
        } 
    };

4.模拟http请求--JavaScript请求一个HTML文件, test.html, 文件的文本内容为"I'm a test.",

<script type="text/javascript" language="javascript">
              var http_request = false; 

              function makeRequest(url) {          
                http_request = false;          
                if (window.XMLHttpRequest) { // Mozilla, Safari,...            
                    http_request = new XMLHttpRequest();             
                    if (http_request.overrideMimeType) {                
                     http_request.overrideMimeType('text/xml');             
                    }         
                 } else if (window.ActiveXObject) { // IE            
                    try {                 
                        http_request = new ActiveXObject("Msxml2.XMLHTTP");             
                    } 
                    catch (e) {                 
                        try {                     
                            http_request = new ActiveXObject("Microsoft.XMLHTTP");                 
                        }catch(e){}             
                    }         
                }          
                if (!http_request) {             
                    alert('Giving up :( Cannot create an XMLHTTP instance');             
                    return false;         
                }         
                http_request.onreadystatechange = alertContents;         
                http_request.open('GET', url, true);         
                http_request.send(null);      
            }      
            function alertContents() {          
                if (http_request.readyState == 4) {             
                    if (http_request.status == 200) {                 
                        alert(http_request.responseText);             
                    }else{                 
                        alert('There was a problem with the request.');             
                    }         
                }      
            }
</script>
<style>
                .testbtn{ cursor: pointer; text-decoration: underline;}
</style>
<span class='testbtn' onclick="makeRequest('test.html')">Make a request</span>

5.对于js中的数组去重的几种方式

//方法一
Array.prototype.unique1 = function () {
  var n = []; //一个新的临时数组
  for (var i = 0; i < this.length; i++) //遍历当前数组
  {
    //如果当前数组的第i已经保存进了临时数组,那么跳过,
    //否则把当前项push到临时数组里面
    if (n.indexOf(this[i]) == -1) n.push(this[i]);
  }
  return n;
}
-------------------------------------------------------------------------------
//方法二
Array.prototype.unique2 = function()
{
    var n = {},r=[]; //n为hash表,r为临时数组
    for(var i = 0; i < this.length; i++) //遍历当前数组
    {
        if (!n[this[i]]) //如果hash表中没有当前项
        {
            n[this[i]] = true; //存入hash表
            r.push(this[i]); //把当前数组的当前项push到临时数组里面
        }
    }
    return r;
}
-------------------------------------------------------------------------------
//方法三
Array.prototype.unique3 = function()
{
    var n = [this[0]]; //结果数组
    for(var i = 1; i < this.length; i++) //从第二项开始遍历
    {
        //如果当前数组的第i项在当前数组中第一次出现的位置不是i,
        //那么表示第i项是重复的,忽略掉。否则存入结果数组
        if (this.indexOf(this[i]) == i) n.push(this[i]);
    }
    return n;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,914评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,935评论 2 383
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,531评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,309评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,381评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,730评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,882评论 3 404
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,643评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,095评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,448评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,566评论 1 339
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,253评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,829评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,715评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,945评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,248评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,440评论 2 348

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,734评论 1 92
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,460评论 1 19
  • 前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:...
    秀才JaneBook阅读 2,340评论 0 25
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 7,114评论 2 19
  • 1. 选择这本书出于两点考虑,一是作者冯唐,因久闻其名,怀揣一颗好奇心,想看看荷尔蒙是怎么个爆棚。二是书名,确实有...
    老胡冷静阅读 475评论 0 7