1、首先了解一下什么什么封装?
所谓封装,就是隐藏对象的属性和实现细节,然后只对外公开相应的接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
js的方法封装主要有两种方式,第一种是封装成对象,第二种是封装成类
一、普通方法
1.
function testplus(a,b){
return a+b;
}
function testsub(a,b){
return a-b;
}
console.log("普通方法1:"+testplus(10,4)+","+testsub(10,4));
var testplus2 = function(a,b){
return a+b;
}
var testsub2 = function(a,v){
return a+b;
}
console.log("普通方法2:"+testplus(10,4)+","+testsub(10,4));
二、把普通方法封装成对象
1.
var fun = {
plus:function(a,b){
return a+b;
},
sub:function(a,b){
return a-b;
}
}
console.log("封装成对象1:"+fun.plus(10,4)+","+fun.sub(10,4));
var fun2 = {}
fun2.plus=function(a,b){
return a+b;
};
fun2.sub=function(a,b){
return a-b;
};
console.log("封装成对象2:"+fun2.plus(10,4)+","+fun2.sub(10,4));
三、封装成类
1.
var lei = function(){
this.plus = function(a,b){
return a+b;
};
this.sub = function(a,b){
return a-b;
};
}
var l = new lei();
console.log("封装成类1:+l.plus(10,4)+","+l.sub(10,4));
var lei2 = function(){};
lei2.prototype.plus = function(a,b){
return a+b;
};
lei2.prototype.sub = function(a,b){
return a-b;
};
var l2 = new lei2();
console.log("封装成类2:"+l2.plus(10,4)+","+l2.sub(10,4));
var lei3 = function(){};
lei3.prototype={
plus:function(a,b){
return a+b;
},
sub:function(a,b){
return a-b;
}
}
var l3 = new lei3();
console.log("封装成类3:"+l3.plus(10,4)+","+l3.sub(10,4));
用法就是script引入 也可写成es2015中的export default
然后import
引入