千家信息网

web前端中常用的封装方法是什么

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容介绍了"web前端中常用的封装方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、放
千家信息网最后更新 2026年10月31日web前端中常用的封装方法是什么

本篇内容介绍了"web前端中常用的封装方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、放大镜

//页面加载完毕后执行

_window.onload=function(){

varoDemo=document.getElementById('demo');

varoMark=document.getElementById('mark');

varFloatBox=document.getElementById('float-box');

varSmallBox=document.getElementById("small-box");

varbigBox=document.getElementById('big-box');

varbigImg=bigBox.getElementsByTagName('img')[0];

oMark.onmouseover=function(){

FloatBox.style.display="block";

bigBox.style.display="block";

}

oMark.onmouseout=function(){

FloatBox.style.display="none";

bigBox.style.display="none";

}

oMark.onmousemove=function(ev){

varev=ev||window.event;

varleft=ev.clientX-oDemo.offsetLeft-SmallBox.offsetLeft-FloatBox.offsetWidth/2;

vartop=ev.clientY-oDemo.offsetTop-SmallBox.offsetTop-FloatBox.offsetHeight/2;

if(left<10){

left=0;

}elseif(left>=oMark.offsetWidth-FloatBox.offsetWidth-10){

left=oMark.offsetWidth-FloatBox.offsetWidth;

}

if(top<10){

top=0;

}elseif(top>=oMark.offsetHeight-FloatBox.offsetHeight-10){

top=oMark.offsetHeight-FloatBox.offsetHeight;

}

FloatBox.style.left=left+"px";

FloatBox.style.top=top+"px";

varscaleX=left/(oMark.offsetWidth-FloatBox.offsetWidth);

varscaleY=top/(oMark.offsetHeight-FloatBox.offsetHeight);

bigImg.style.left=-scaleX*(bigImg.offsetWidth-bigBox.offsetWidth)+"px";

bigImg.style.top=-scaleY*(bigImg.offsetHeight-bigBox.offsetHeight)+"px";

}

}

2、JSONP

functionfn1(data){

varhtml='';

varoUl=document.getElementsByTagName('ul')[0];

console.log(data);

if(data.total!=-1){

for(vari=0;i

html+='

  • '+data.books[i].title+'

    '+data.books[i].author_intro+'

    '+data.books[i].summary+'

    '+data.books[i].publisher+'

  • ';}

    oUl[xss_clean]=html;

    }else{

    document.body[xss_clean]+='

    亲~~没有数据哦~~~

    ';

    }

    }

    _window.onload=function(){

    varoBtn=document.getElementById('btn');

    variNow=0;

    oBtn.onclick=function(){

    //动态添加script标签加载URL地址后传入callback=fn1输出一个函数,在上面则定义好这个函数,接受一个data就是资源json类型,循环输出,可先console.log(dara)查看数据

    varoScript=document.createElement('script');

    oScript.src="https://api.douban.com/v2/book/search?q=%E6%A0%A1%E5%9B%AD&count=10&start="+iNow+"&callback=fn1";

    document.head.appendChild(oScript);

    //点击一次+10,从多少开始获取

    iNow+=10;

    }

    }

    3、获取指定区间范围随机数,包括lowerValue和upperValue

    functionrandomFrom(lowerValue,upperValue)

    {

    returnMath.floor(Math.random()*(upperValue-lowerValue+1)+lowerValue);

    }

    //如获取1-100之间的随机数

    console.log(randomFrom(1,100));

    4、数组排序

    1、快速排序

    /**

    *得到中间那位那位数,然后循环判断,arr[i]<中间数则pushleftArr,否则pushrightArr,最后返回left数组'拼接'中间数+right数组

    */

    functionsort(arr){

    if(arr.length<=1){

    returnarr;

    }

    varnumIndex=Math.floor(arr.length/2);

    varnumVal=arr.splice(numIndex,1);

    varleftArr=[];

    varrightArr=[];

    for(vari=0;i

    if(arr[i]

    leftArr.push(arr[i]);

    }else{

    rightArr.push(arr[i])

    }

    }

    returnsort(leftArr).concat(numVal,sort(rightArr));

    }

    2、sort排序

    varnum=[7,45,100,4,2,564];

    num.sort(function(a,b){

    returna-b;

    });

    console.log(num)//[2,4,7,45,100,564]

    5、数组去重

    1、indexOf去重

    /**

    *当arr的第一次出现的位置==i则是第一次出现就push到tempArr

    */

    functionunique(arr){

    if(arr.length<=1){

    returnarr;

    }

    vartempArr=[];

    for(vari=0;i

    if(tempArr.indexOf(parseInt(arr[i]))==-1){//-1证明没有出现过

    tempArr.push(arr[i]);

    }

    }

    returntempArr;

    }

    2、Set去重

    functionSetUnique(array){

    return[...newSet(array)];

    }

    dedupe([1,1,2,3])//[1,2,3]

    6、深度拷贝

    /**

    *深度拷贝

    *使用forin在循环赋值,避免对象引用

    */

    functioncopy(obj){

    if(typeofobj!='object'){

    returnobj;

    }

    varnewObj={};

    for(varattrinobj){

    newObj[attr]=copy(obj[attr]);

    }

    returnnewObj;

    }

    "web前端中常用的封装方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

    数组 循环 排序 输出 前端 常用 方法 封装 内容 函数 拷贝 数据 更多 深度 知识 第一次 随机数 实用 学有所成 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技金融是不是互联网金融 互联网的科技 互联网科技公司的优势 科技企业和互联网企业 多迪互联网科技有限公司 互联网巨头投资的硬核科技 安控科技rtu产品工业互联网 青岛中康互联网医疗科技有限公司 中国互联网有什么科技含量 互联网科技与管理 湖南一路畅行互联网科技 四川慕妮娅互联网科技有限公司 美国互联网科技实力 伍佰万互联网科技怎么赚钱 江苏苏星互联网科技有限公司 电子商务与互联网科技的关系 广东工业互联网大赛深圳学泰科技 互联网科技职业技能培训学校 绵阳真晨互联网科技有限公司 河南商务圈互联网科技有限公司 互联网科技垄断 互联网 科技 远拓互联网科技 银川新华互联网科技职业技术培训学校图片 科技互联网海报 启辰互联网科技 科技互联网经济论坛 唐山双旺合互联网科技产业园 瑞安市蟠桃会互联网科技有限公司 中国主要互联网科技公司
    0