js中级6

1.动画

  (1)Css样式提供了运动

    过渡属性transition  从一种情况到另一种情况叫过渡

    transition:time          linear                 delay;

    attr 是变化的属性

    time 是花费的时间

    linear 变化的速度

    delay 是延迟

复习background:url() no-repeat 50% 50%    red;

    background-image

    background-repeat

    background-position

    background-color

   (2)js提供的运动

元素的client offset scroll  三个系列

clientWidth/clientHeight/clientTop/clientLeft

offsetWidth/offsetHeight/offsetLeft/offsetTop/offsetParent

scrollWidth/scrollHeight/scrollTop/scrolleft

这十三个属性,前面十一个是只读属性,scrollTop和scrollLeft是既可读也可写

获取浏览器的body属性是有兼容的

var dd=document.body||document.documentElement

scrollTop和scrollLeft的最小值是0

获取body的整个文档的高

document.body.scrollHeight||doocument.documentElement.scrollHeight

获取浏览器body的整个文档的高、

document.body.scrollHeight||documentElement.scrollHeight

window下的两个事件

  onscroll当滚动条滚动的时候触发

  onresize当窗口发生改变的时候触发

====================================================================================================================================================

BOM 浏览器对象模型

1.window.open(url,ways)

url是打开的网页地址

ways打开的方式_self

2.window.close()

3.   浏览器用户信息

window.navigator

4.浏览器地址信息

window.location

5.window.history 记录浏览器的访问历史记录

    window.history.forward()前进 最新的访问记录

    window.history.back() 返回

函数的解析

函数如果把他当做函数看,就只能看到函数的意思,可以封装。

如果说我们把函数当作函数对象来看,就可以实现一些继承了。

可以控制台dir(fn)

可以发现在原型链上函数对象天生带call(),apply(),bind()三个方法。

这三个方法可以改变函数内的提升指向

A.Call(B,c,d)。 B取代了A中的this。然后把B给调用了

function add(a,b){

console.log(this)

return a+b

}

function jian(a,b){

return a-b

}

// add(5,3)

var s=add.call(jian,5,6)

console.log(s)

  jian取代了add中this,然后把add给调用了

call和apply的区别

案例分析

  Math.max(34,45,6,12)找出这些数字中的最大项,但是参数必须是数字。

  现在我们有个 arr=[24,25,56,5]想通过math 找到里面的最大项

  var s=Math.max.apply(null,arr)

91

复习:

  函数内的this,一种是被当作方法来调用,this指向.前面的对象

  一种是当做函数来调用,看函数归属谁,归属谁this指向谁

原文地址:https://www.cnblogs.com/guhuai/p/10044171.html