可用两种方法实现:1、实例化函数为对象;2、闭包返回内部值。
一、实例化函数为对象
/*
* 创建函数--面向对象
*/
var objfn = function() {
this.a = function(arg){console.log(arg);}
this.b = function(arg){console.log(arg+1);}
}
/*创建实例*/
var fn = new objfn;
fn.a(1);//调用 --->1
fn.b(1);//调用 --->2
二、闭包返回内部值
/*
* 创建函数--闭包
*/
function foo(){
var val1=18;
console.log('val1');
function baz(){
console.log('baz');
}
return { //返回值对象实质上是一个 我们模块的公有API
baz:baz
}
}
var m=foo(); //调用外部函数--->val1
m.baz(); //调用函数的内部函数--->baz