美文网首页
无标题文章

无标题文章

作者: julyL | 来源:发表于2016-06-05 19:48 被阅读33次

    #javascript基础

    1. 字符串中**只有** ` "1"==true`     **只有**`"0"==false `和` ""==false`

    null和undefined   !=false 和!=ture

    2.  eval("("+data+")");  //转换为json对象  data为普通的js对象  转换后为JSON(key和val必须加括号)

    `eval("{}");  // return undefined

    eval("({})"); // return object[Object]

    var json=(new Function('return'+data))() return object[Object] 也会返回json对象

    `

    3.

    > `array.map(callback[, thisArg]) `                             返回新数组(由callback中return 的值组成)

    `array.filter(callback[, thisArg])  `

    `array.forEach(callback[, thisArg])` 总是返回 undefined

    callbak的参数 currentValue , index , array

    > for (x in obj/arr)  x为key  obj[key]=value

    jQuery: `$.each(object, callback)`和 `$(selector).each(callback) `  callback(index,value)与js原生相反

    4.

    Array.prototype.slice.call(arguments)

    Array.prototype.slice.call(arguments,0)

    可以将arguments转换为数组

    Object.prototype.toString.call(array)=="[object Array]"            //判断数组

    ### DOM相关

    document.activeElement :  当前获得焦点的元素

    event.currentTarget :  返回绑定事件监听的元素(current:现在的)

    在事件处理程序内部,this===event.currentTarget===绑定元素

    event.target :    返回实际触发的目标元素(IE 中为 event.srcElement)

    nodeType  1:元素  2:属性节点  3:文本节点

    ---

    clientWidth  =  内容宽度+padding  (不包括滚动条)

    scrollWidth  = Math.max(**设宽**+padding, 内部元素撑开的宽度+左padding,也不包括滚动条17px)

    offsetWidth  =  内容宽度+padding+border (对象整体的实际宽度,包滚动条等边线)

    offsetParent =  离当前节点最近定位过的父级元素(没有就默认是body)

    offsetLeft = (offsetParent的padding-left)+(中间元素的offsetWidth和margin)+(当前元素的margin-left)  也就是offsetParent与当前元素的直接距离

    **注:body不能有border,否则存在兼容性问题**

    # css基础

    *  input,button,select,textarea标签的font-size:是不会继承父级的(必须重设) a标签  color的值是不会继承父级的

    *  高度的百分比:父级必须有设置高度(有明确的高度设置),如果父级和子级都设置`height:100%;`则父级和子级高度一样,由子级撑开。

    宽度百分比同理: 当父级和子级都为inline-block且设置`height:100%;`则父子子级宽度一样,由子级撑开。

    * input(除了 type="image"),button,textarea 默认都为`box-sizeing:border-box;`

    * 对于行内元素 margin和padding只有水平方向有作用

    * JPG:不支持透明半透明,所有空白区域填充白色(网页中的大图、高清图:体积大)

    GIF:支持透明,不支持半透明(网页中的小图标、动态图片)

    png8:支持透明,不支持半透明(网页中的小图标)

    png24:支持透明,也支持半透明(图像中存在半透明效果的图片)

    *  **z-index**

    使用了 position 属性值为 absolute、relative 的层,将会比普通层更高层次。使用了小于1的 opacity 属性的层(在层级影响上和position:非static一样,也比普通页面高)

    层级的覆盖关系:从最外层设置了z-index的地方开始比较

    (z-index>=0)子级在父级之上

    * 垂直margin合并问题

    子级与父级:若父级设置了合并方向的padding,border或触发BFC则垂直外边距不会合并    兄弟节点之间垂直方向必定合并

    * ###table和table-cell

    1. display:table-cell;

    没有设置width时,若内部自然撑开的宽度(***自宽***)小于父级设置宽度,则宽度=父级宽度;若内部宽度>父级,则宽度由内部撑开(会溢出父级)

    直接设置width>父级宽度是无效的,最终会表现为和父宽一样(另外:当设置的宽度和自宽都《父宽时,width=Math.max(设宽,自宽)

    2. display:table;内有display:table-cell;  若设置table-cell的元素的宽度之和>父级table设置的宽度,则默认会撑开父级宽度(除非设置table-layout:fixed;)

    3. 设置了display:table-cell的元素对宽度高度敏感,对margin值无反应,响应padding属性,基本上就是活脱脱的一个td标签元素了。

    4. table-cell的高度由heightg和line-height中较大的一个决定

    5.  table-cell 不能继承父级的宽高,除非父级是 table 。(同一行的td宽度之和=父级宽度之和(不够会撑开),同一行的td高度由这一行中最大高度决定)

    相关文章

      网友评论

          本文标题:无标题文章

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