首页 > 编程知识 正文

封装一个js代码,封装一个js代码是多少

时间:2023-12-28 11:57:09 阅读:328384 作者:KWAP

本文目录一览:

封装一个自己的js库

接下来,我讲封装一个仿jQuery的库,主要包含jQuery中绑定,css,等方法,我讲它定义为 "HQuery"

jQuery中的 $ 符号意味着什么?

先思考一下jQuery库中alert(typeof $)的结果,它是一个对象,也是一个函数

所以美元符$字面上是jQuery,其实就是一个jq对象,里面可以接受函数,字符串,还要一种是对象(比如this)

给自己的Hquery填加$符号:

Hquery是基于面向对象实现的,所以我们需要先写构造函数,为了方便遍历和其他方法的操作,所有内容返回到一个数组中,这个数组衣服于Hquery对象存在,之后将为这个Hquery对象属性添加方法

我们使用Hquery操作DOM等实现一系列的功能,选择器是必不可少的,所有我们首先封装好选择器,这样就可以能省去document.getElementsByClass等等麻烦的操作

其他的方法,我就不一一介绍了,下面直接给大家上一个多种方法封装好的,大家k'y

function封装成一个js

按下面的操作即可。

1、

(function(){

window.sbDog={};//创建一个自己的对象相当于C#中的命名空间

vargetId=function(id){

returndocument.getElementById(id)

};

sbDog.getId=getId;//将函数注册到命名空间上

})();

2、

//下面的代码在window对象中创建一个属于自己的对象或者命名空间,并在里面写上自执行函数的方法,以便于我们调用这个自执行函数中的一些功能。

(function(){

window.sbDog={

myID:function(id){

console.log(document.getElementById(id).value);

}

}

})();

//调用

window.onload=function(){

console.log(sbDog.myID(test));

}

新手请教,如何将一段JS代码封装成一个方法

鉴于楼主欠缺编程经验,我就先不说封装成jQuery插件等高大上的做法了。单就论封装成方法而言。

方法,也就是函数。是面向过程式语言一种代码复用的初级手段,简而言之,就是把重复的部分用函数封装起来。

例如猫叫多遍,cat.meow(), 你总不可能写对应次数的代码,一般会写成:

function meow(num){

    for(var i=0;inum;i++){

        cat.meow()

    }

}

meow(1000)

这就是一种最基础的代码复用。

当然,面向对象的语言也许有更简单的 cat.meow(1000)

那么,针对楼主的情况。逐步讲一下各层次的方法。最简单的用函数封装一下就是:

function effect(srcDom,destDom,className){

    $(srcDom).mouseenter(function(){

        $(destDom).addClass(className)

    }).mouseout(function(){

        $(destDom).removeClass(className)

    })

}

然后调用

effect('#plate-1','#plate-1hover','plate-1after')

effect('#plate-2','#plate-2hover','plate-2after')

effect('#plate-3','#plate-3hover','plate-3after')

鉴于楼主的DOM的ID和Class命名比较有规律,可以写成这样

function effect(name){

    $('#'+name).mouseenter(function(){

        $('#'+name+'hover').addClass(name+'after')

    }).mouseout(function(){

        $('#'+name+'hover').removeClass(name+'after')

    })

}

然后调用

effect('plate-1')

effect('plate-2')

effect('plate-3')

但是这样还是不够通用,楼主应该看看事件方面有关事件委托的知识

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。