作者: 路有一隅 | 来源:发表于2017-10-09 18:36 被阅读0次

    一、盒模型

    1.标准盒子模型:范围包括 margin、border、padding、content;

    width = content   ; 所占位置 margin*2+border*2+padding*2+content; 实际大小 border*2+padding*2+content;

    2.IE盒子模型:范围包括 margin、border、padding、content;

    width = border + padding + content  ; 所占位置 margin*2+content; 实际大小 content;

    注:添加DOCTYPE声明,使包括IE的所有浏览器使用‘标准盒子模型’;否则IE678会使用怪异模式

    注:margin叠加合并:两个上下相邻的div,margin会合并,取较大的那个margin。(除 行内、浮动、定位 外)

    二、box-sizing (IE7不支持)

    box-sizing: content-box(默认) | padding-box(只有firefox支持) | border-box | inherit(继承自父集)

    应用:1.有边框的盒子正常使用百分比

              2.全局设置border-box,省去加减计算

    三、flex布局

    1.display: flex | inline-flex;  (则float、clear、vertical-align失效)

    http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

    注:可使用‘flex’,定义伸缩项目的根据容器剩余空间来决定伸缩项目的宽度.

    flex于对应的空间成正比,如果左边flex:1,右边flex:2,伸缩容器将剩余的空间按比例分配给左边和右边。

    四、作用域

    js的作用域仅存在于函数范围内。变量提升:所有的 函数 和 变量声明 会被提升到最前面,并且变量声明永远在最前面。赋值在声明变量之后。

    例1:var x=10; function x (){}; console.log(x); ----->  var x; function x(){}; x=10; console.log(x);

    例2:foo();bar();var foo = function(){};function bar(){};---->var foo; var bar; bar = function(){};foo()  !error!; bar();foo = function(){};

    五、

    instanceof  运算符用来测试一个对象object 在其 原型链 中是否存在一个 构造函数的prototype属性。 

    object(对象)  instanceof  constructor(构造函数)

    例1:function C(){};  var o = new C();   o instanceof C;//true    o instanceof Object; //true

    hasOwnProperty(): 判断对象是否具有指定的属性作为自身(不继承)的属性。该方法会忽略掉继承自原型链的属性。

    Obj.hasOwnProperty(prop)

    例1:o = new Object();  o.prop = 'exists';  o.hasOwnProperty('prop')   //true 

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/ypepyxtx.html