一点拙劣的小分享,欢迎批评和补充
我们经常在Js中为我们的各类组件,构造Json格式的假数据。我们看如下代码:
var jsonResult = [ { 'name': 'ws', 'age': '22' }, { 'name': 'td', 'age': '22' } //我们把jsonResult[x]当作对象,其中的自然为属性 ]; window.onload = function () { alert(jsonResult[0].name); }
那么对象的方法如下:
var jsonResult = [ { 'name': 'ws', 'age': '22','speakFunc':function () { alert('hi,my name is ws'); } }, { 'name': 'td', 'age': '22' ,'speakFunc':function () { alert('hi my name is '+jsonResult[1].name); }} //我们把jsonResult[x]当作独立个体对象 ]; window.onload = function () { jsonResult[0].speakFunc(); jsonResult[1].speakFunc(); }
下面给出可读性,复用性更佳的方法,包括闭包。
var myUpStageClass = function () { var instance = { firstFunc: function () { //方法名可以不用引号 alert('第一个方法输出'); }, 'secondFunc': function (param) { alert(param); } } return instance; //返回闭包的对象 } var appObj = myUpStageClass(); //接受闭包的对象,是不是像实例化 window.onload = function () { appObj.firstFunc(); appObj.secondFunc('第二个方法输出'); }
建议把我们所需要的,复用性高的JS,作为我们项目最顶层的js封装好,并且在闭包外的全局上接受闭包对象,提供给下层调用。
新闻热点
疑难解答