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