缺:只能作用于window,不可作用于某一指定元素
优:可以作用于x轴和y轴两个方向
注:scrollTo在安卓手机上存在兼容性问题
缺:只能作用于y轴的方向
优:可以作用于某一指定元素,如document.getElementById('demo').scrollTop=666
注:作用某一指定元素时,生效的前提条件是:该指定元素的父盒子高度小于其高度
document.body.scrollTop = 0
注:一般情况下,一个浏览器中document.documentElement.scrollTop和document.body.scrollTop属性同时只会有一个生效,另一个值恒为0且不可被更改
示例:封装一个回到顶部组件(基于vue语法)
<template>
    <div class="container">
        <div class="goTop" @click="goTop" v-show="goTopShow"><span class="iconfont iconjiantou4"></span></div>
    </div>
</template>
<script>
export default {
    name: "GoTop",
    data(){
        return{
            goTopShow: false,  //回到顶部按钮是否显示
        }
    },
    mounted(){
         window.addEventListener("scroll",this.scrollCount,true)
    },
    methods:{
        //检测滚动高度
        scrollCount(){
            let topcount=document.documentElement.scrollTop||document.body.scrollTop
            if(topcount>400&&!this.goTopShow){
                this.goTopShow=true
            }else if(topcount<=400&&this.goTopShow){
                this.goTopShow=false
            }
        },
        //回到顶部
        goTop(){
            if(document.documentElement.scrollTop){
                document.documentElement.scrollTop=0
            }else{
                document.body.scrollTop=0
            }
        },
    }
}
</script>
<style scoped lang="less">
    .container{
        .goTop{
            width:50px;
            height:50px;
            color:#fff;
            border-radius: 50%;
            bottom: 50px;
            right: 10px;
            background-color: rgba(91,119,254,.8);
            position: fixed;
            display: flex;
            align-items: center;
            justify-content: center;
            .iconfont{
                font-size: 20px;
            }
        }
    }
</style>