无标题文章

#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高度由这一行中最大高度决定)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92
  • 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素的特征:1. 不占据普通文档流...
  • http://blog.csdn.net/david21984/article/details/57451917 ...
    紫色冰雨阅读 575评论 0 0
  • 如何解决 img 标签上下出现的间隙 0.前言 我们在平常的开发过程中,经常需要使用多张图片,而使用多张图片的时候...
    丶VGirl阅读 223评论 0 0
  • 开通了简书,不过目前还真没想好怎么来进行运营。 先学习一下简书的使用吧。和其他的自媒体还是有比较大的区别。 也许这...
    我闻TV阅读 149评论 1 0