比如这里定义一个组件MyClass
function MyClass(id){//组件模板
}2、在组件内获取节点id
function MyClass(id){//组件模板
var _self = document.getElementById(id)//根据id获取组件
}3、定义类的方法
function MyClass(id){//组件模板
var _self = document.getElementById(id)//根据id获取组件
this.addP=function(){//定义类方法,这里是显示内容为1233
_self.innerHTML ="1233"
}
}4、直接在js中调用使用该组件方法
示例:
1、JS封装就是尽量把使用的方式简单化,内部逻辑和使用解耦。通俗的说就是使用的时候只需要知道参数和返回值,其他条件尽量不要使用人员进行设置。
2、JS封装的方法有函数方式、对象的方式、闭包的方式。
举例
1)函数方式function kk(a,b){
内部对a,b怎么处理就不需要关心了
}
2)对象方式
function kk(a,b){
this.x = a
this.y = b
}
var k = new kk(1,2)//通过面向对象的方式
alert(k.x)
3)闭包方式
function kk(a,b){
var k = 1
return function tt(){
k++
}
}
var u = kk(1,2)
u()//闭包实现累加
u()//闭包实现累加
1、定义一个类
2、类中增加一个方法
3、body中定义一个dom节点
4、脚本中把dom节点和类定义结合起来,实现特定的组件功能
示例:
<script>function TestWidegt(did){//定义一个组件类
var _self = document.getElementById(did)//根据id获取dom节点
this.addP=function(){//增加组件方法,这里就是添加一个节点
_self.innerHTML = '<p>111</p>'//在dom节点下添加节点p
}
return this//返回当前组件
}
function Test(){
var t = new TestWidegt('dv')//根据占位的dom节点定义组件
t.addP()//在占位节点中增加显示内容
}
</script>
<body>
<input type='button' value='测试组件'/>
<div id='dv'>111</div> 组件占位使用的dom节点
</body>