美文网首页
《JavaScript高级程序设计》读书笔记

《JavaScript高级程序设计》读书笔记

作者: 头上有灰机 | 来源:发表于2018-03-09 22:06 被阅读0次
1、slice、substr、substring区别

先看参数
substr(start, length)slice(start, end)substring(start, end)
其中substring的参数,会把负数全部当做0;
由于substr的第二个参数为要截取的长度,所以不能为负数,负数会当做0;
其他情况下,substrslice的参数中,负数就是倒数

2、call、bind、apply区别

先看参数
call(obj, arg1, arg2...)bind(obj, arg1, arg2...)apply(obj, args)
callapply都是把函数内的this对象指向obj参数,并运行调用这个方法的函数。call的后面的参数是一个个列出来,而apply是把所有参数放到数组里传入
bind用来返回一个新函数,而新函数中的this指向obj参数,后面的参数会全部传给原函数的参数,之后的新函数,变不可以再传该参数了

3、offset高宽位置

1、offsetParent:元素的父级元素中,第一个positionrelative的元素。没有的话,则为body。所以offsetParent并不一定等于parentNode
2、offsetHeightoffsetWidth:等于:可见(如果出现滚动条,则看不到的区域不算)内容区高宽+padding+border,可以说是样式中的height+padding+border
3、offsetLeftoffsetTop:元素的边框之外距离offsetParent的边框之内的距离。所以,如果需要知道元素距离bodylefttop,必须把offsetLeftoffsetTopoffsetParent的相同属性相加,并一直循环加到body

offset各属性示例
4、client高宽位置

1、clientHeightclientWeight:可见内容区高宽+padding,同时也等于:offset高宽-滚动条的宽度-border
2、 clientLeftclientTop:分别等于左边框的宽度和上边框的宽度?

5、scroll高宽位置

1、scrollHeightscrollWidth:元素在没有滚动条的情况下,元素内容的总高宽。把height设置为auto时,scollHeight = clientHeight = (offsetHeight - border - 横向滚动条宽度)
2、scrollLeft:元素左侧不可见区域的宽度。滚动条在最左边时,scrollLeft == 0,滚动条在最右边时scrollWidth == scrollLeft + clientWidth

6、event.target和event.currentTarget

currentTarget表示事件是注册到该元素上的,target则表示实际触发事件的元素。
比如:在body上注册一个click事件,当点击页面中的一个按钮时。currentTarget === body,而target === 按钮元素

7、鼠标事件中的鼠标位置

clientX(Y)始终是鼠标相对于浏览器窗口(不包括浏览器的工具栏,不管是否有滚动条)的位置
pageX(Y)鼠标相对于整个页面的位置,当整个页面没有出现滚动条时,总是等于clientX(Y)
screenX(Y)相对于电脑屏幕的位置
offsetX(Y)相对于target元素的位置

相关文章

网友评论

      本文标题:《JavaScript高级程序设计》读书笔记

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