您的位置:首页 > Web前端 > JavaScript

Js模型和封装

2016-01-23 17:41 190 查看
一点拙劣的小分享,欢迎批评和补充

我们经常在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封装好,并且在闭包外的全局上接受闭包对象,提供给下层调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: