CSS,JS,HTTP三道题-5.29

css: 什么是css盒模型

CSS中的盒子模型包括IE盒子模型和标准的W3C盒子模型

box-sizing有3个值:border-box,padding-box,content-box.

标准盒模型box-sizing:content-box; 如下图

IE盒模型 box-sizing:border-box;如下图

在这里插入图片描述

区别:

从图中我们可以看出,这两种盒子模型最主要的区别就是width的包含范围,

在标准的盒子模型中,width指content部分的宽度,

在IE盒子模型中,width表示content+padding+border这三个部分的宽度,

所以在计算整个盒子的宽度时存在着差异:

标准盒子模型的盒子的实际宽度:左右border+左右padding+width

IE盒子模型的盒子的实际宽度:width

box-sizing:content-box;表示标准的盒子模型

box-sizing:border-box表示的是IE盒子模型

而box-sizing:padding-box,这个属性值的宽度包含了左右padding+width

闭包

有权访问另一个函数作用域中的变量的函数

闭包原理

闭包的实现原理,其实是利用了作用域链的特性,我们都知道作用域链就是在当前执行环境下访问某个变量时,如果不存在就一直向外层寻找,最终寻找到最外层也就是全局作用域,这样就形成了一个链条。

闭包优点:

  1. 隐藏变量,避免全局污染

  2. 可以读取函数内部的变量

闭包缺点

  1. 导致变量不会被垃圾回收机制回收,造成内存消耗

  2. 不恰当的使用闭包可能会造成内存泄漏的问题

垃圾回收机制:

JS规定在一个函数作用域内,程序执行完以后变量就会被销毁,这样可节省内存;

使用闭包时,按照作用域链的特点,闭包(函数)外面的变量不会被销毁,因为函数会一直被调用,所以一直存在,如果闭包使用过多会造成内存销毁。

//闭包实现自增;函数内部局部变量递增,不会影响全部变量
var a  = 10;
function Add(){
    var a = 10;
    return function(){
        a++;
        return a;
    };
};

var cc =  Add();
console.log(cc());
console.log(cc());
console.log(cc());
console.log(a); 

GET与POST的区别

区别

  1. GET请求一般用去请求获取数据,
    POST一般作为发送数据到后台时使用

  2. GET请求也可传参到后台,但是其参数在浏览器的地址栏的url中可见,所以隐私性安全性较差,且参数长度也是有限制的
    POST请求传递参数放在Request body中,不会在url中显示,比GET要安全,且参数长度无限制

  3. GET请求刷新浏览器或回退时没有影响
    POST回退时会重新提交数据请求

  4. GET请求比较常见的方式是通过url地址栏请求
    POST最常见是通过form表单发送数据请求

猜你喜欢

转载自blog.csdn.net/buruyang/article/details/117384133